cjson 遍历json文件
时间: 2024-05-06 14:14:26 浏览: 237
cJSON是一个轻量级的JSON解析器和生成器,它可以快速、高效地解析和生成JSON数据。在cJSON中,遍历JSON文件的过程其实就是遍历cJSON树的过程。以下是遍历JSON文件的步骤:
1. 调用cJSON_Parse函数解析JSON文件,得到cJSON根节点。
2. 遍历cJSON树,可以使用cJSON_GetObjectItem、cJSON_GetArrayItem等函数获取节点对象,使用cJSON_GetStringValue、cJSON_GetNumberValue等函数获取节点值。
3. 对于复杂的JSON文件,可以使用递归函数来遍历整个cJSON树。
下面是一个简单的示例代码,演示如何遍历一个JSON文件:
```
#include <stdio.h>
#include "cJSON.h"
int main()
{
char* json_data = "{\"name\":\"Jack\", \"age\":18, \"hobby\":[\"reading\", \"swimming\"]}";
cJSON* root = cJSON_Parse(json_data);
cJSON* name_node = cJSON_GetObjectItem(root, "name");
printf("Name: %s\n", cJSON_GetStringValue(name_node));
cJSON* age_node = cJSON_GetObjectItem(root, "age");
printf("Age: %d\n", cJSON_GetNumberValue(age_node));
cJSON* hobby_node = cJSON_GetObjectItem(root, "hobby");
int hobby_size = cJSON_GetArraySize(hobby_node);
printf("Hobby: ");
for (int i = 0; i < hobby_size; i++)
{
cJSON* item = cJSON_GetArrayItem(hobby_node, i);
printf("%s ", cJSON_GetStringValue(item));
}
printf("\n");
cJSON_Delete(root);
return 0;
}
```
阅读全文