隨著互聯網技術的不斷發展,使用JSON(JavaScript Object Notation)作為數據交換格式也越來越流行。C 2.0 的對象JSON模塊提供了一種簡化JSON處理的方法,可以用較少的代碼完成JSON數據的各種讀取和修改操作。
對象JSON模塊需要引用頭文件#include <object_json.h>
后才能使用。其主要結構是json_object
,可以通過調用函數json_object_create
創建新的對象,或者從字符串中讀取JSON數據創建對象,例如:
json_object* obj = json_object_create(); // 創建新的JSON對象 json_object_from_str(obj, "{\"name\":\"張三\",\"age\":28}"); // 從字符串中創建JSON對象
創建JSON對象后,可以使用函數json_object_get_type
判斷該對象的類型,以及使用相應的函數獲取其值,例如:
json_object* name_obj = json_object_object_get(obj, "name"); if (json_object_get_type(name_obj) == json_type_string) { const char* name = json_object_get_string(name_obj); printf("姓名:%s\n", name); }
修改JSON對象的值也很簡單,只需使用對應的函數即可,例如:
json_object_object_add(obj, "gender", json_object_new_string("男")); // 增加新的屬性 json_object_object_del(obj, "age"); // 刪除指定屬性 json_object_set_int(name_obj, 25); // 修改屬性值
當然,如果需要將JSON對象輸出為字符串,也可以使用函數json_object_to_json_string
實現,例如:
printf("%s\n", json_object_to_json_string(obj)); // 將JSON對象輸出為字符串
從以上的簡單示例中可以看出,C 2.0 對象JSON模塊提供了一種非常方便的JSON數據處理方法,可以在C語言環境下輕松讀取和修改JSON數據。