c json是一個處理JSON數據的C語言庫,它提供了簡單易用的函數來解析和生成JSON數據。
使用c json時,我們一般會用到以下幾個函數:
json_object * json_object_new_object(void); json_object * json_object_new_array(void); int json_object_object_add(json_object *obj, const char *key, json_object *val); int json_object_array_add(json_object *arr, json_object *val); json_object * json_object_parse(const char *jsonstr); char * json_object_to_json_string(struct json_object* obj); json_type json_object_get_type(const json_object *obj);
其中,json_object_new_object和json_object_new_array分別用于創建一個新的JSON對象和JSON數組。
json_object_object_add和json_object_array_add用于向JSON對象和JSON數組中添加成員。
json_object_parse用于解析JSON字符串并返回一個對應的JSON對象。
json_object_to_json_string用于將JSON對象轉換為JSON字符串。
json_object_get_type用于獲取JSON對象的類型。
以下是一個簡單的例子:
#include <stdio.h> #include <json-c/json.h> int main() { // 創建一個JSON對象 json_object *obj = json_object_new_object(); // 添加一個數值成員 json_object_object_add(obj, "num", json_object_new_int(123)); // 添加一個字符串成員 json_object_object_add(obj, "str", json_object_new_string("Hello, world!")); // 添加一個數組成員 json_object *arr = json_object_new_array(); json_object_array_add(arr, json_object_new_int(1)); json_object_array_add(arr, json_object_new_int(2)); json_object_array_add(arr, json_object_new_int(3)); json_object_object_add(obj, "arr", arr); // 輸出JSON字符串 char *jsonstr = json_object_to_json_string(obj); printf("%s\n", jsonstr); // 釋放內存 json_object_put(obj); return 0; }
運行以上程序,將輸出如下JSON字符串:
{"num":123,"str":"Hello, world!","arr":[1,2,3]}