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

c 對(duì)象反序列化成json

對(duì)象序列化和反序列化是編程中經(jīng)常使用的技術(shù),C語言也提供了可以將對(duì)象序列化為json字符串的函數(shù)和將json字符串反序列化成對(duì)象的函數(shù)。下面我們來詳細(xì)了解一下。

C語言中反序列化json字符串的函數(shù)是json_c_object_from_string(),它的聲明如下:

struct json_object* json_c_object_from_string(const char *str);

這個(gè)函數(shù)接受一個(gè)json字符串,將其反序列化成一個(gè)json對(duì)象,并返回這個(gè)對(duì)象的指針,如果反序列化失敗則返回NULL。

我們可以使用這個(gè)函數(shù)來將一個(gè)json字符串反序列化為一個(gè)json對(duì)象:

#include <stdio.h>#include <json-c/json.h>int main(int argc, char **argv)
{
const char *json_str = "{\"name\": \"Tom\", \"age\": 20}";
struct json_object *json_obj = json_c_object_from_string(json_str);
if (json_obj)
{
printf("name: %s, age: %d\n", json_object_get_string(json_object_object_get(json_obj, "name")), json_object_get_int(json_object_object_get(json_obj, "age")));
}
return 0;
}

上面的代碼將會(huì)輸出:

name: Tom, age: 20

這個(gè)例子中,我們將一個(gè)json字符串反序列化成了一個(gè)json對(duì)象,并通過json_object_object_get()函數(shù)和json_object_get_string()/json_object_get_int()函數(shù)從對(duì)象中獲取了name和age字段的值。

注意,json_object_object_get()函數(shù)可以從json對(duì)象中獲取一個(gè)json對(duì)象,因此我們在獲取name字段和age字段時(shí),需要先獲取到這兩個(gè)字段對(duì)應(yīng)的json對(duì)象。