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

c 返回json轉化成實體

張吉惟2年前7瀏覽0評論

在C語言中,我們經常需要將JSON格式的字符串轉化成實體以進行相關操作。使用C語言進行JSON數據的解析和轉換,主要是通過第三方庫進行實現。其中比較著名的是 cJSON 庫。

#include#include#include "cJSON.h"
int main()
{
char *json_str = "{\"name\":\"張三\",\"age\":20,\"friends\":[\"李四\",\"王五\"]}";
cJSON *json_root = cJSON_Parse(json_str);
if (json_root == NULL)
{
printf("JSON 數據解析失敗\n");
return -1;
}
cJSON *name_item = cJSON_GetObjectItem(json_root, "name");
if (name_item == NULL)
{
printf("JSON 數據格式錯誤,未找到name字段\n");
cJSON_Delete(json_root);
return -1;
}
char *name = cJSON_GetStringValue(name_item);
printf("name: %s\n", name);
cJSON *age_item = cJSON_GetObjectItem(json_root, "age");
if (age_item == NULL)
{
printf("JSON 數據格式錯誤,未找到age字段\n");
cJSON_Delete(json_root);
return -1;
}
int age = cJSON_GetNumberValue(age_item);
printf("age: %d\n", age);
cJSON *friends_item = cJSON_GetObjectItem(json_root, "friends");
if (friends_item == NULL)
{
printf("JSON 數據格式錯誤,未找到friends字段\n");
cJSON_Delete(json_root);
return -1;
}
cJSON *friend_item = NULL;
cJSON_ArrayForEach(friend_item, friends_item)
{
char *friend_name = cJSON_GetStringValue(friend_item);
printf("friend: %s\n", friend_name);
}
cJSON_Delete(json_root);
return 0;
}

上述代碼首先定義一個JSON格式的字符串,然后使用 cJSON_Parse 函數將其轉化成 cJSON 對象,接著通過 cJSON_GetObjectItem 函數獲取json_root對象中的各個字段,最后輸出對應字段的值。