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

c json 解析類

錢瀠龍2年前7瀏覽0評論

在C語言中,解析JSON數據是非常常見的需求。為了方便解析JSON數據,我們可以使用一些現成的開源C JSON解析類庫。

#include "cjson/cJSON.h"
int main() {
// 簡單例子:解析JSON字符串
char* json_str = "{\"name\":\"Json\",\"age\":20,\"skills\":[\"programming\",\"swimming\"]}";
cJSON* root = cJSON_Parse(json_str);
// 根據key獲取value,需要注意cJSON_GetObjectItem返回值為cJSON類型
cJSON* name = cJSON_GetObjectItem(root, "name");
cJSON* age = cJSON_GetObjectItem(root, "age");
printf("name=%s, age=%d\n", name->valuestring, age->valueint);
// 獲取數組對象
cJSON* skills = cJSON_GetObjectItem(root, "skills");
int skill_num = cJSON_GetArraySize(skills);
for (int i = 0; i< skill_num; i++) {
cJSON* skill = cJSON_GetArrayItem(skills, i);
printf("skill[%d]=%s\n", i, skill->valuestring);
}
cJSON_Delete(root);
return 0;
}

在以上代碼中,我們使用了cJSON_Parse函數將JSON字符串轉為cJSON格式,然后使用cJSON_GetObjectItem函數根據key獲取value,這里需要注意cJSON_GetObjectItem返回值為cJSON類型,需要根據實際情況使用相應的value類型進行獲取。

同時,如果需要獲取JSON中的數組對象,可以使用cJSON_GetArrayItem函數獲取指定位置的數組元素,或者使用cJSON_GetArraySize函數獲取數組長度。

最后,我們需要調用cJSON_Delete函數釋放cJSON格式數據占用的空間。