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

c 調(diào)用json解析

在C語言中,使用json解析庫解析json格式的數(shù)據(jù)非常常見。常用的json解析庫有Jansson、cJSON、yajl等,在這里我們以cJSON為例,來介紹如何使用C語言調(diào)用json解析庫。

#include#include"cJSON.h"
int main()
{
//定義要解析的json字符串
const char* json_str = "{\"name\":\"Tom\",\"age\":18,\"hobby\":[\"reading\",\"swimming\"]}";
//解析json字符串
cJSON* root = cJSON_Parse(json_str);
//解析錯(cuò)誤處理
if (root == NULL)
{
printf("JSON Error: %s\n", cJSON_GetErrorPtr());
return 0;
}
//獲取字符串
char* name = cJSON_GetObjectItem(root, "name")->valuestring;
printf("Name: %s\n", name);
//獲取整型
int age = cJSON_GetObjectItem(root, "age")->valueint;
printf("Age: %d\n", age);
//獲取數(shù)組
cJSON* hobby_array = cJSON_GetObjectItem(root, "hobby");
int hobby_count = cJSON_GetArraySize(hobby_array);
printf("Hobby:\n");
for (int i = 0; i < hobby_count; i++)
{
cJSON* hobby_item = cJSON_GetArrayItem(hobby_array, i);
printf("%s\n", hobby_item->valuestring);
}
//釋放內(nèi)存
cJSON_Delete(root);
return 0;
}

在上面的代碼中,首先我們定義了一個(gè)json格式的字符串,然后使用cJSON_Parse函數(shù)將其解析成一個(gè)cJSON對(duì)象。如果解析成功,則可以通過函數(shù)cJSON_GetObjectItem獲取該對(duì)象中的成員,包括字符串、整型、數(shù)組等。解析結(jié)束后,需要使用函數(shù)cJSON_Delete釋放對(duì)象的內(nèi)存。