C語言提供了json-c庫來定義多層嵌套的Json數(shù)據(jù)結(jié)構(gòu)。Json是一種輕量級的數(shù)據(jù)交換格式,常用于Web應(yīng)用程序的數(shù)據(jù)交換。多層嵌套的Json可以表示更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
#include <json-c/json.h> int main() { // 定義一個(gè)嵌套的Json對象 struct json_object *object = json_object_new_object(); struct json_object *innerObject = json_object_new_object(); // 給對象加上鍵值對 json_object_object_add(innerObject, "name", json_object_new_string("John")); json_object_object_add(innerObject, "age", json_object_new_int(30)); json_object_object_add(object, "person", innerObject); // 把Json對象轉(zhuǎn)成字符串輸出 const char *jsonString = json_object_to_json_string(object); printf("%s\n", jsonString); return 0; }
以上代碼定義了一個(gè)嵌套的Json對象,稱為object。object中包含了一個(gè)人的信息,又稱為innerObject。person是object中的鍵,innerObject是person的值。
innerObject中包含了兩個(gè)鍵值對,分別是name和age。name是一個(gè)字符串類型,值為"John"。age是一個(gè)整型類型,值為30。
最后,把object對象轉(zhuǎn)換成Json字符串,并輸出。輸出的結(jié)果如下:
{ "person": { "name": "John", "age": 30 } }
從輸出結(jié)果可以看出,定義多層嵌套Json的方式非常靈活,可以組合出各種不同的數(shù)據(jù)結(jié)構(gòu)。