C JSON打包是一種將數據序列化為JSON格式的過程。在C語言中,常用的C JSON庫包括json-c,cJSON等。
下面是一個使用json-c進行JSON打包的例子:
#include <stdio.h>#include <json-c/json.h>int main() {
// 創建JSON對象
struct json_object *jobj = json_object_new_object();
// 添加鍵值對
json_object_object_add(jobj, "name", json_object_new_string("張三"));
json_object_object_add(jobj, "age", json_object_new_int(20));
// 打印JSON字符串
printf("%s\n", json_object_to_json_string(jobj));
// 釋放JSON對象
json_object_put(jobj);
return 0;
}
在以上例子中,我們首先使用json-c庫中的json_object_new_object函數創建了一個JSON對象,然后使用json_object_object_add函數在其中添加了兩個鍵值對。最后使用json_object_to_json_string將該JSON對象序列化為字符串并打印。
與json-c相比,cJSON庫具有更簡單、更高效的API,并且在嵌入式設備上的支持較好。
下面是一個使用cJSON進行JSON打包的例子:
#include <stdio.h>#include <cJSON/cJSON.h>int main() {
// 創建JSON對象
cJSON *jobj = cJSON_CreateObject();
// 添加鍵值對
cJSON_AddStringToObject(jobj, "name", "張三");
cJSON_AddNumberToObject(jobj, "age", 20);
// 打印JSON字符串
char *json_str = cJSON_Print(jobj);
printf("%s\n", json_str);
free(json_str);
// 釋放JSON對象
cJSON_Delete(jobj);
return 0;
}
在以上例子中,我們首先使用cJSON庫中的cJSON_CreateObject函數創建了一個JSON對象,然后使用cJSON_AddStringToObject和cJSON_AddNumberToObject函數在其中添加了兩個鍵值對。最后使用cJSON_Print將該JSON對象序列化為字符串并打印。