色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 解析json listmap

林玟書1年前7瀏覽0評論

JSON是一種輕量級的數據交換格式,它有著類似于字典的形式,可以包含list和map兩種數據結構,在C語言中解析JSON數據,可以使用現有的第三方庫,例如cJSON。

使用cJSON解析JSON數據,需要先導入cJSON頭文件,然后使用cJSON_Parse函數將JSON數據轉換為cJSON結構。在cJSON結構中,list使用cJSON_Array對象,map使用cJSON_Object對象。

#include "cJSON.h"
...
cJSON *root = cJSON_Parse(jsonStr);
if (root == NULL) {
// JSON數據解析失敗
return;
}
// 解析list
cJSON *list = cJSON_GetObjectItem(root, "list");
if (list != NULL && cJSON_IsArray(list)) {
int size = cJSON_GetArraySize(list);
for (int i = 0; i< size; i++) {
cJSON *item = cJSON_GetArrayItem(list, i);
if (item == NULL || !cJSON_IsObject(item)) {
continue;
}
// 解析map
cJSON *name = cJSON_GetObjectItem(item, "name");
cJSON *age = cJSON_GetObjectItem(item, "age");
if (name != NULL && age != NULL && cJSON_IsString(name) && cJSON_IsNumber(age)) {
printf("name: %s age: %d\n", name->valuestring, age->valueint);
}
}
}
cJSON_Delete(root);

在解析JSON數據時,需要使用cJSON提供的API函數,例如cJSON_Parse、cJSON_GetObjectItem、cJSON_GetArraySize、cJSON_GetArrayItem等函數。使用這些函數可以方便地讀取JSON數據中的具體信息。

總的來說,使用cJSON解析JSON數據非常方便,只需要導入頭文件、調用相關函數即可獲取JSON數據中的信息。同時,cJSON還支持將JSON數據轉換為字符串、添加數據到JSON數據中等功能。

上一篇db.json