c json對象組合
c json是一種輕量級數據交換格式,具備解析速度快、占用內存小等優點,廣泛應用于網絡傳輸中。json可以表示基本數據類型、對象、數組、null等數據結構,但對于復雜的數據結構,需要使用json對象組合來表示。
json對象是一個無序的“名/值”對集合,一個json對象可以包含其他的json對象和json數組。在c語言中,可以使用json_object_new_object()函數創建一個json對象,然后通過json_object_object_add()函數向該對象中添加“名/值”對。下面是一個示例代碼:
#include#include int main() { struct json_object *obj = json_object_new_object(); struct json_object *arr = json_object_new_array(); struct json_object *subobj = json_object_new_object(); json_object_object_add(obj, "number", json_object_new_int(123)); json_object_object_add(obj, "string", json_object_new_string("Hello, world!")); json_object_object_add(obj, "boolean", json_object_new_boolean(1)); json_object_array_add(arr, json_object_new_int(456)); json_object_array_add(arr, json_object_new_string("json-c")); json_object_array_add(arr, json_object_new_object()); json_object_object_add(subobj, "name", json_object_new_string("Alice")); json_object_object_add(subobj, "age", json_object_new_int(18)); json_object_array_add(arr, subobj); printf("%s\n", json_object_to_json_string(obj)); json_object_put(obj); json_object_put(arr); json_object_put(subobj); return 0; }
此代碼創建了一個json對象和一個json數組,并以json對象組合的形式向json對象中添加了不同的“名/值”對和數組,最后打印該json對象的字符串表示形式。此示例代碼需要引用json-c庫。