JSON 是一種輕量級的數據交換格式,其格式簡單明了,易于解析和生成。在使用 C 語言處理 JSON 數據時,我們通常使用 cJSON 庫來創建、解析和操作 JSON 對象或數組。
下面,我們來看一下如何在 C 語言中使用 cJSON 庫創建 JSON 數組。
cJSON *root = cJSON_CreateArray(); // 根節點為一個數組 cJSON *item1 = cJSON_CreateObject(); // 創建第一個子節點 cJSON_AddStringToObject(item1, "name", "Alice"); cJSON_AddNumberToObject(item1, "age", 22); cJSON_AddStringToObject(item1, "gender", "female"); cJSON_AddItemToArray(root, item1); cJSON *item2 = cJSON_CreateObject(); // 創建第二個子節點 cJSON_AddStringToObject(item2, "name", "Bob"); cJSON_AddNumberToObject(item2, "age", 30); cJSON_AddStringToObject(item2, "gender", "male"); cJSON_AddItemToArray(root, item2);
上述代碼中,我們首先使用 cJSON 庫的 cJSON_CreateArray() 函數創建了一個 JSON 數組的根節點,并定義了兩個子節點 item1 和 item2。接下來,我們使用 cJSON 庫提供的 cJSON_AddStringToObject() 函數、cJSON_AddNumberToObject() 函數和 cJSON_AddItemToArray() 函數向兩個子節點中添加屬性和值,并將它們添加到 JSON 數組中。
最后,我們可以將 JSON 數組轉換成字符串,用于網絡通信或存儲到文件中。
char *json_str = cJSON_Print(root); printf("%s\n", json_str); free(json_str); cJSON_Delete(root); // 釋放 cJSON 對象占用的內存
在上述代碼中,我們先使用 cJSON 庫提供的 cJSON_Print() 函數將 JSON 數組轉換成字符串,并輸出到控制臺上。最后,我們使用 cJSON_Delete() 函數釋放 cJSON 對象占用的內存。
總結:使用 cJSON 庫可以輕松地在 C 語言中創建和操作 JSON 數據。通過上述示例,你可以快速理解如何創建 JSON 數組。