欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 獲取json里對象的個數組

李中冰1年前7瀏覽0評論

C語言有一個流行的JSON解析庫叫做cJSON,它允許使用C語言以一種簡潔的方式解析JSON字符串。假如我們有一個包含多個對象元素的JSON字符串,我們該如何使用cJSON獲取其中對象的個數組呢?

#include#include#include#include "cJSON.h" //需要引入cJSON庫
int main() {
char *json_str = "{\"objects\":[{\"name\":\"obj1\",\"id\":1}, {\"name\":\"obj2\",\"id\":2}, {\"name\":\"obj3\",\"id\":3} ]}";
cJSON *root = cJSON_Parse(json_str);
cJSON *objects = cJSON_GetObjectItem(root, "objects"); 
int obj_count = cJSON_GetArraySize(objects);
printf("There are %d objects in the array:\n", obj_count);
for (int i = 0; i< obj_count; i++) {
cJSON *obj = cJSON_GetArrayItem(objects, i);
cJSON *name = cJSON_GetObjectItem(obj, "name");
cJSON *id = cJSON_GetObjectItem(obj, "id");
printf("Object %d - name:%s, id:%d\n", i, cJSON_GetStringValue(name), cJSON_GetNumberValue(id));
}
cJSON_Delete(root);
return 0;
}

以上代碼使用cJSON_Parse函數將JSON字符串轉換成cJSON對象,并使用cJSON_GetObjectItem函數獲取其中名為"objects"的數組對象,接著使用cJSON_GetArraySize獲取數組元素個數。最后循環遍歷整個數組,獲取其中每個對象的"name"和"id"屬性,并打印出來.