c json 樹形結(jié)構(gòu)是一種常見的數(shù)據(jù)結(jié)構(gòu),在c語(yǔ)言中使用json-c庫(kù)可以進(jìn)行簡(jiǎn)單的操作,以下是一個(gè)使用json-c庫(kù)實(shí)現(xiàn)c json 樹形結(jié)構(gòu)的示例:
#include#include int main() { // 創(chuàng)建空的json對(duì)象 struct json_object *root = json_object_new_object(); // 創(chuàng)建json數(shù)組,并添加到root中 struct json_object *arr = json_object_new_array(); json_object_object_add(root, "array", arr); // 在json數(shù)組中添加元素 struct json_object *ele1 = json_object_new_int(1); struct json_object *ele2 = json_object_new_int(2); json_object_array_add(arr, ele1); json_object_array_add(arr, ele2); // 創(chuàng)建json對(duì)象,并添加到root中 struct json_object *obj = json_object_new_object(); json_object_object_add(root, "object", obj); // 在json對(duì)象中添加字段值 struct json_object *field1 = json_object_new_string("value1"); struct json_object *field2 = json_object_new_string("value2"); json_object_object_add(obj, "field1", field1); json_object_object_add(obj, "field2", field2); // 輸出json格式的字符串 const char *str = json_object_to_json_string(root); printf("json string: %s\n", str); // 釋放json對(duì)象 json_object_put(root); return 0; }
以上示例創(chuàng)建了一個(gè)包含json數(shù)組和json對(duì)象的c json 樹形結(jié)構(gòu),使用json_object_to_json_string函數(shù)將其轉(zhuǎn)換為json格式的字符串,輸出結(jié)果如下:
json string: {"array":[1,2],"object":{"field1":"value1","field2":"value2"}}
通過json-c庫(kù),我們可以方便地創(chuàng)建、操作c json 樹形結(jié)構(gòu),并將其轉(zhuǎn)換為json格式的字符串。這種數(shù)據(jù)結(jié)構(gòu)在網(wǎng)絡(luò)傳輸、配置文件等場(chǎng)景中得到了廣泛應(yīng)用。