cJSON获取json对象所有的key和value
时间: 2024-06-13 12:04:18 浏览: 325
要获取JSON对象中所有的key和value,可以使用cJSON库中的函数。具体步骤如下:
1. 解析JSON字符串,生成cJSON对象。
2. 遍历cJSON对象,获取每个子项的key和value。
以下是一个示例代码:
```
cJSON *json = cJSON_Parse(json_string); // 解析JSON字符串,生成cJSON对象
if (json != NULL) {
cJSON *item = json->child; // 获取第一个子项
while (item != NULL) {
printf("key: %s, value: ", item->string);
switch (item->type) {
case cJSON_String:
printf("%s\n", item->valuestring);
break;
case cJSON_Number:
printf("%f\n", item->valuedouble);
break;
// 其他类型的处理方式
}
item = item->next; // 获取下一个子项
}
cJSON_Delete(json); // 释放cJSON对象
}
```
该代码会遍历JSON对象中的所有子项,输出每个子项的key和value。需要注意的是,不同类型的value需要使用不同的方式输出。在示例代码中,我们只处理了字符串和数字类型的value,其他类型的处理方式可以根据需要进行修改。
阅读全文