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

c json轉對象轉換

江奕云1年前8瀏覽0評論

在C語言中,常使用JSON格式來表示數據,但是JSON格式的數據無法直接在程序中使用,需要將其轉換為C語言中的對象。下面給出一種使用cJSON庫進行JSON轉對象轉換的方法。

#include "cJSON.h"
typedef struct Person{
char name[20];
int age;
char city[30];
}Person;
Person person;
char json[100] = "{\"name\":\"Tom\", \"age\":20, \"city\":\"New York\"}";
cJSON *root = cJSON_Parse(json);
if(NULL != root) {
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *city = cJSON_GetObjectItem(root, "city");
if(NULL != name && NULL != age && NULL != city) {
strncpy(person.name, name->valuestring, sizeof(person.name) - 1);
person.age = age->valueint;
strncpy(person.city, city->valuestring, sizeof(person.city) - 1);
}
}
cJSON_Delete(root);

以上代碼定義了一個結構體Person,用于存儲JSON中的數據。首先調用cJSON_Parse函數將JSON字符串轉換成一個cJSON對象,然后使用cJSON_GetObjectItem函數獲取JSON中的數據,并將其賦值給Person結構體中的相應成員變量。

最后使用cJSON_Delete函數釋放cJSON對象,避免內存泄漏。