JSON(JavaScript Object Notation)是一種常用的輕量級數據交換格式,可以用于不同平臺之間的數據傳輸和存儲。在C語言中,我們可以使用JSON數據類型來定義和操作JSON數據。
typedef struct json_object { enum json_type type; union data { bool boolean; int number; char *string; struct json_object *array; struct json_object *object; } data; } json_object_t;
以上是JSON數據類型的定義,其中包括數據類型類型枚舉和一個數據聯合體,用于存儲不同類型的數據。
以下是常用的JSON操作函數:
// 創建一個JSON對象 json_object_t *json_object_create(void); // 銷毀一個JSON對象 void json_object_destroy(json_object_t *object); // 向JSON對象中添加一個新的boolean類型的鍵值對 json_object_t *json_object_add_boolean(json_object_t *object, const char *key, bool value); // 向JSON對象中添加一個新的number類型的鍵值對 json_object_t *json_object_add_number(json_object_t *object, const char *key, int value); // 向JSON對象中添加一個新的string類型的鍵值對 json_object_t *json_object_add_string(json_object_t *object, const char *key, const char *value); // 向JSON對象中添加一個新的array類型的鍵值對 json_object_t *json_object_add_array(json_object_t *object, const char *key, json_object_t *array); // 向JSON對象中添加一個新的object類型的鍵值對 json_object_t *json_object_add_object(json_object_t *object, const char *key, json_object_t *new_object); // 獲取JSON對象中指定鍵對應的值 json_object_t *json_object_get(json_object_t *object, const char *key); // 將JSON對象轉為字符串 char *json_serialize(json_object_t *object); // 將JSON字符串解析為JSON對象 json_object_t *json_deserialize(const char *json_string);
以上函數可以滿足我們對JSON數據的常見操作需求,可以在實際開發中靈活使用。
上一篇c++ 從文件讀json
下一篇c++ json數組解析