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

c json數(shù)組解析實例

C語言提供了很多對JSON進(jìn)行解析的庫,其中比較流行的是cJSON庫。本文將通過一個JSON數(shù)組解析的實例來介紹如何使用cJSON庫。

#include "cJSON.h"
#include <stdio.h>
int main(int argc, char *argv[])
{
const char *json_str = "[{\"name\": \"Tom\", \"age\": 18},\
{\"name\": \"Lucy\", \"age\": 20}]";
cJSON *root = cJSON_Parse(json_str);
if (!root) {
printf("JSON parse error!\n");
return -1;
}
cJSON *person = NULL;
cJSON_ArrayForEach(person, root) {
cJSON *name = cJSON_GetObjectItem(person, "name");
cJSON *age = cJSON_GetObjectItem(person, "age");
printf("name:%s\n", cJSON_Print(name));
printf("age:%d\n", age->valueint);
}
cJSON_Delete(root);
return 0;
}

在代碼中,我們首先定義了一個JSON字符串。在實際開發(fā)中,我們可能需要從文件或者網(wǎng)絡(luò)中獲取JSON字符串,這里為了方便直接在代碼中定義了。

接著,我們使用cJSON_Parse函數(shù)將JSON字符串轉(zhuǎn)換為cJSON對象,如果轉(zhuǎn)換失敗則輸出錯誤信息并退出。

然后,我們通過cJSON_ArrayForEach宏遍歷JSON數(shù)組中的每一個元素,這個宏需要傳入兩個參數(shù),第一個是cJSON對象,第二個是cJSON數(shù)組對象。在每次遍歷中,我們使用cJSON_GetObjectItem函數(shù)獲取當(dāng)前元素中的"name"和"age"屬性,并輸出其值。

最后,我們使用cJSON_Delete釋放cJSON對象的內(nèi)存,避免內(nèi)存泄漏。

以上就是使用cJSON庫進(jìn)行JSON數(shù)組解析的一個簡單實例。希望本文能幫助大家更好地使用cJSON庫。