在C語言中使用JSON(JavaScript Object Notation)拼裝數據,可以用來進行數據序列化和反序列化的操作。JSON是輕量級數據交換格式,具有良好的可讀性、易于編解碼的特點。
#include <stdio.h> #include <cJSON.h> int main() { // 創建一個新的JSON對象 cJSON *json_object = cJSON_CreateObject(); // 向JSON對象中添加數據 cJSON_AddStringToObject(json_object, "name", "Tom"); cJSON_AddNumberToObject(json_object, "age", 25); // 創建一個新的JSON數組 cJSON *json_array = cJSON_CreateArray(); // 向JSON數組中添加數據 cJSON *json_item = cJSON_CreateObject(); cJSON_AddStringToObject(json_item, "hobby", "reading"); cJSON_AddItemToArray(json_array, json_item); json_item = cJSON_CreateObject(); cJSON_AddStringToObject(json_item, "hobby", "traveling"); cJSON_AddItemToArray(json_array, json_item); cJSON_AddItemToObject(json_object, "hobbies", json_array); // 序列化JSON對象為字符串 char *json_string = cJSON_Print(json_object); // 輸出JSON字符串 printf("%s", json_string); // 釋放JSON對象和字符串內存 cJSON_Delete(json_object); free(json_string); return 0; }
以上代碼通過cJSON庫中的函數拼裝一個包含名字、年齡和愛好的JSON對象,并將其序列化為字符串。通過輸出可以看到生成的JSON字符串:
{ "name": "Tom", "age": 25, "hobbies": [ { "hobby": "reading" }, { "hobby": "traveling" } ] }
可以看到JSON字符串中包含了我們添加的數據。這樣的JSON拼裝方式可以方便地在C語言中進行數據傳輸、存儲和解析操作。