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

c 將json對象轉(zhuǎn)換為類對象數(shù)組

錢琪琛2年前8瀏覽0評論

C語言是一門廣泛應(yīng)用于嵌入式領(lǐng)域的編程語言,而JSON是一種輕量級的數(shù)據(jù)交換格式。在C語言中,我們可以使用第三方庫來將JSON對象轉(zhuǎn)換為類對象數(shù)組。

#include <stdio.h>
#include <jansson.h>
typedef struct person{
char *name;
int age;
} Person;
int main() {
const char *json_str = "[{\"name\":\"Tom\", \"age\":18}, {\"name\":\"Jerry\", \"age\":22}]";
json_error_t error;
json_t *root = json_loads(json_str, 0, &error);
if(!root){
printf("json error on line %d: %s\n", error.line, error.text);
return 1;
}
size_t size = json_array_size(root);
Person persons[size];
for(int i=0; i

在上述代碼中,我們使用了jansson庫來解析JSON字符串。首先,我們定義了一個包含name和age兩個屬性的Person結(jié)構(gòu)體。接著,我們將JSON字符串解析為json_t類型的root對象。如果解析失敗,則輸出錯誤信息并返回。如果解析成功,則通過json_array_size函數(shù)獲得JSON數(shù)組長度,創(chuàng)建一個長度為size的Person類型數(shù)組persons。接著,我們使用json_array_get函數(shù)遍歷JSON數(shù)組,并通過json_object_get函數(shù)獲得name和age屬性值,將其賦值給Person結(jié)構(gòu)體,然后將該結(jié)構(gòu)體添加到persons數(shù)組中。最后,我們需要調(diào)用json_decref函數(shù)釋放內(nèi)存并返回。

通過上述代碼,我們可以將JSON對象轉(zhuǎn)換為類對象數(shù)組,實現(xiàn)JSON數(shù)據(jù)的處理。