JSON是一種輕量級的數(shù)據(jù)交換格式,常用于Web應用程序中的數(shù)據(jù)傳輸。在C語言中,生成JSON數(shù)據(jù)格式也比較簡單,只需要使用C語言的標準庫中提供的json-c庫即可。
首先,在C語言中生成JSON數(shù)據(jù)格式需要包含json-c庫,還需要包含json-c的頭文件,如:
#include <json-c/json.h>
生成JSON數(shù)據(jù)格式的過程主要包含以下幾個步驟:
1. 創(chuàng)建JSON對象
使用json_object_new_object()函數(shù)創(chuàng)建JSON對象,如:
struct json_object *obj = json_object_new_object();
2. 添加JSON對象成員
使用json_object_object_add()函數(shù)添加JSON對象成員,如:
json_object_object_add(obj, "name", json_object_new_string("Lucy")); json_object_object_add(obj, "age", json_object_new_int(20));其中,第一個參數(shù)是JSON對象,第二個參數(shù)是JSON對象成員的名稱,第三個參數(shù)是JSON對象成員的值。
3. 生成JSON字符串
使用json_object_to_json_string()函數(shù)將JSON對象轉換為JSON字符串,如:
char *str = json_object_to_json_string(obj);整個過程完成后,str指向的就是生成的JSON字符串。
下面是一個簡單的示例:
#include <stdio.h> #include <json-c/json.h> int main() { struct json_object *obj = json_object_new_object(); json_object_object_add(obj, "name", json_object_new_string("Lucy")); json_object_object_add(obj, "age", json_object_new_int(20)); char *str = json_object_to_json_string(obj); printf("%s\n", str); return 0; }
運行該程序,輸出的結果為:
{"name":"Lucy","age":20}該字符串即為生成的JSON字符串。
上一篇c的json庫
下一篇c#中json解析的代碼