在C語(yǔ)言中,獲取指定json字符串中的值需要使用json-c庫(kù)。該庫(kù)提供了一些函數(shù)來(lái)解析json字符串,從而獲取特定的值。
首先,需要包含json-c庫(kù)的頭文件:
#include <json-c/json.h>
接著,將json字符串轉(zhuǎn)換成json對(duì)象:
char *json_string = "{\"name\":\"張三\",\"age\":20,\"address\":{\"city\":\"北京\",\"street\":\"西三環(huán)\"}}"; json_object *json = json_tokener_parse(json_string);
上面的代碼中,我們定義了一個(gè)json字符串,然后將其轉(zhuǎn)換成json對(duì)象。接下來(lái),可以使用json_object_object_get函數(shù)獲取對(duì)象中的某個(gè)屬性的值:
json_object *name_object = json_object_object_get(json, "name"); const char *name = json_object_get_string(name_object);
上面的代碼中,我們獲取了json對(duì)象中的name屬性的值,并將其轉(zhuǎn)換成字符串。同樣的,我們也可以獲取address屬性的值:
json_object *address_object = json_object_object_get(json, "address"); json_object *city_object = json_object_object_get(address_object, "city"); const char *city = json_object_get_string(city_object);
上面的代碼中,我們首先獲取了address屬性的值,然后獲取了address對(duì)象中的city屬性的值,并將其轉(zhuǎn)換成字符串。
最后,別忘了在使用完json對(duì)象后及時(shí)釋放內(nèi)存:
json_object_put(json);
以上就是獲取指定json字符串中的值的C代碼示例。
上一篇c 獲取地址json
下一篇vue. back原理