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

c json遍歷屬性值

老白2年前8瀏覽0評論

如何遍歷JSON的各個屬性值,C語言提供了一種方便快捷的方法——cJSON。

cJSON是一個輕量級的JSON解析器,可以很方便地讀取和處理JSON數(shù)據(jù)。

/*獲取json的屬性值*/
char* json_str = "{ \"name\":\"jobs\", \"age\":56, \"married\":true }";
cJSON* json = cJSON_Parse(json_str);
cJSON* name = cJSON_GetObjectItem(json, "name");
printf("name: %s\n", cJSON_Print(name));
cJSON* age = cJSON_GetObjectItem(json, "age");
printf("age: %d\n", age->valueint);
cJSON* married = cJSON_GetObjectItem(json, "married");
printf("married: %d\n", married->valueint);

上述代碼首先解析了一個JSON字符串,然后通過cJSON_GetObjectItem()函數(shù)獲取了JSON對象中的各個屬性值,再通過cJSON_Print()函數(shù)或者屬性值本身的成員變量輸出屬性值。

對于JSON數(shù)組的遍歷,也非常簡單。

/*遍歷json數(shù)組*/
char* json_str = "[1,2,3,4,5,6,7,8,9]";
cJSON* json = cJSON_Parse(json_str);
cJSON* array = cJSON_GetArrayItem(json, 0);
for(int i = 0; i< cJSON_GetArraySize(json); i++) {
cJSON* item = cJSON_GetArrayItem(json, i);
printf("element %d: %d\n", i, item->valueint);
}

上述代碼中,首先解析了一個JSON數(shù)組,然后通過cJSON_GetArrayItem()函數(shù)獲取了數(shù)組中的各個元素(注意:數(shù)組下標(biāo)從0開始),再通過for循環(huán)遍歷各個元素。其實,cJSON提供的API非常豐富,還包括刪除、替換、插入和移動節(jié)點等方法。