在C語言編程中,將字符串轉換為JSON對象數組是一項非常常見的操作。下面我們就來介紹一下如何實現這項操作。
#include#include #include #include "cJSON.h" int main(void) { char str[100] = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; // 可自定義JSON字符串 cJSON *root = cJSON_Parse(str); // 把JSON字符串解析到cJSON對象里面 cJSON *name = cJSON_GetObjectItem(root, "name"); // 獲取JSON對象里面的"name"字符串 cJSON *age = cJSON_GetObjectItem(root, "age"); // 獲取JSON對象里面的"age"整數 cJSON *city = cJSON_GetObjectItem(root, "city"); // 獲取JSON對象里面的"city"字符串 cJSON *array = cJSON_CreateArray(); // 創建JSON對象數組 cJSON *item1 = cJSON_CreateObject(); // 創建JSON對象 cJSON_AddStringToObject(item1, "name", name->valuestring); // 添加"name"字符串到JSON對象里面 cJSON_AddNumberToObject(item1, "age", age->valueint); // 添加"age"整數到JSON對象里面 cJSON_AddStringToObject(item1, "city", city->valuestring); // 添加"city"字符串到JSON對象里面 cJSON_AddItemToArray(array, item1); // 向JSON對象數組里面添加當前JSON對象 cJSON *item2 = cJSON_CreateObject(); // 創建JSON對象 cJSON_AddStringToObject(item2, "name", "Mike"); // 添加"name"字符串到JSON對象里面 cJSON_AddNumberToObject(item2, "age", 25); // 添加"age"整數到JSON對象里面 cJSON_AddStringToObject(item2, "city", "Beijing"); // 添加"city"字符串到JSON對象里面 cJSON_AddItemToArray(array, item2); // 向JSON對象數組里面添加當前JSON對象 char *jsonStr = cJSON_Print(array); // 把JSON對象數組轉化為JSON字符串格式 printf("%s\n", jsonStr); // 輸出JSON字符串 cJSON_Delete(root); // 回收內存 cJSON_Delete(array); // 回收內存 free(jsonStr); // 釋放內存 return 0; }
通過以上代碼,我們可以成功將JSON字符串轉換為JSON對象數組,并最終將其轉換為JSON字符串格式。通過不斷的練習和嘗試,相信大家一定可以掌握這項技能。
下一篇c#讀取json數組