在進行數據交互時,經常會用到JSON格式的數據。為了便于操作,許多語言都提供了相應的JSON解析庫和生成庫。在C語言中,cJSON和json-c是其中兩個比較流行的庫。
cJSON是一個輕量級的JSON解析庫,它的源代碼只有一個.c文件和一個.h文件,非常便于集成到C語言項目中。cJSON可以將JSON格式的字符串解析成C語言的數據結構,也可以將C語言的數據結構轉換成JSON格式的字符串。下面是一個使用cJSON解析JSON字符串的例子:
cJSON *json = cJSON_Parse(string); //string為JSON格式的字符串 cJSON *name = cJSON_GetObjectItem(json, "name"); char *name_str = cJSON_GetStringValue(name); printf("name is %s\n", name_str); cJSON_Delete(json);
json-c也是一個流行的JSON解析庫,與cJSON不同的是它不僅可以解析JSON字符串,還可以直接解析JSON文件。json-c同樣提供了生成JSON格式字符串的API。json-c的使用方式如下:
json_object *json = json_object_from_file("example.json"); //example.json為JSON文件 json_object *name = json_object_object_get(json, "name"); const char *name_str = json_object_get_string(name); printf("name is %s\n", name_str); json_object_put(json);
需要注意的是,json-c中的JSON對象是通過json_object結構體表示的,需要使用json_object_put函數進行內存釋放。
綜上,cJSON和json-c都是C語言中常用的JSON解析庫和生成庫。如果只需要解析JSON字符串,cJSON是一個比較好的選擇;如果需要解析JSON文件或生成JSON格式字符串,json-c則更加適合。
上一篇css解析成json
下一篇ci中json數據怎么寫