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

c 解析json的類

錢諍諍1年前10瀏覽0評論

在C語言中,解析JSON數(shù)據(jù)是一項很常見的任務(wù)。為了簡化這個過程,我們可以使用現(xiàn)成的JSON解析類庫。下面我們介紹一種常用的、開源的C語言解析JSON的類庫——cJSON。

#include "cJSON.h"
#include <stdio.h>
int main()
{
// 定義一個JSON字符串
char *json_str = "{\"name\":\"Jack\",\"age\":30,\"hobby\":[\"swimming\",\"reading\"]}";
// 解析JSON字符串
cJSON *json = cJSON_Parse(json_str);
// 讀取JSON對象中的成員
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *hobbies = cJSON_GetObjectItem(json, "hobby");
// 打印讀取結(jié)果
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
printf("Hobbies:\n");
cJSON *hobby;
cJSON_ArrayForEach(hobby, hobbies) {
printf("- %s\n", hobby->valuestring);
}
// 釋放JSON對象內(nèi)存
cJSON_Delete(json);
return 0;
}

在上面的示例代碼中,我們使用cJSON類庫解析了一段JSON字符串,并讀取了其中的成員。在使用cJSON解析JSON字符串時,我們首先需要定義一個指針類型的JSON對象,并通過調(diào)用cJSON_Parse函數(shù)將JSON字符串解析到該對象中。

讀取JSON對象中的成員時,我們可以使用cJSON_GetObjectItem函數(shù)根據(jù)成員名稱獲取成員對象。然后通過成員對象的valuestring或valueint成員變量獲取字符串或整型值。

在本例中,我們還使用了cJSON_ArrayForEach宏來循環(huán)遍歷JSON數(shù)組對象中的元素。

最后,我們還需要注意在程序結(jié)束時,調(diào)用cJSON_Delete函數(shù)釋放JSON對象的內(nèi)存。