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

c json 多層嵌套

錢琪琛1年前7瀏覽0評論

C語言中使用JSON格式是一種常見的跨語言通信方式,JSON數(shù)據(jù)結構支持多層嵌套。可以將一個JSON字符串解析為多層嵌套的數(shù)據(jù)結構,方便對數(shù)據(jù)進行存取和處理。在解析JSON數(shù)據(jù)時,可以使用第三方開源庫cJSON。

#include "cJSON.h"
int main()
{
//創(chuàng)建一個JSON對象,并添加多層嵌套的數(shù)據(jù)
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Amy");
cJSON *contact = cJSON_CreateObject();
cJSON_AddStringToObject(contact, "phone", "123456");
cJSON_AddStringToObject(contact, "email", "example@demo.com");
cJSON_AddItemToObject(root, "contact", contact);
//將JSON對象轉換為字符串輸出
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
//解析JSON字符串,獲取嵌套的數(shù)據(jù)
cJSON *json = cJSON_Parse(json_str);
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *contact = cJSON_GetObjectItem(json, "contact");
cJSON *phone = cJSON_GetObjectItem(contact, "phone");
cJSON *email = cJSON_GetObjectItem(contact, "email");
printf("name: %s\n", name->valuestring);
printf("phone: %s\n", phone->valuestring);
printf("email: %s\n", email->valuestring);
//釋放內(nèi)存
cJSON_Delete(root);
cJSON_Delete(json);
free(json_str);
return 0;
}

在上面的示例代碼中,我們創(chuàng)建了一個JSON對象,并添加了多層嵌套的數(shù)據(jù)。然后使用cJSON庫中的函數(shù)將JSON對象轉換為字符串輸出,再解析JSON字符串,獲取嵌套的數(shù)據(jù)。

cJSON庫提供了豐富的API,可以方便地對JSON數(shù)據(jù)進行解析、生成、查找和修改等操作。使用cJSON庫可以輕松地與其他編程語言進行數(shù)據(jù)交換,是一種非常方便的通信方式。