在C語言編程中,我們常常需要將一個字符串轉換成JSON對象數組以進行相關操作。下面介紹一種簡單的方法。
// 假設我們有以下的字符串 char* str = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":16}]"; // 創建一個JSON數組 json_t* array = json_array(); // 將字符串解析為JSON數組 json_error_t error; json_t* root = json_loads(str, 0, &error); if (root == NULL) { printf("error: on line %d: %s\n", error.line, error.text); return; } if (!json_is_array(root)) { printf("error: root is not an array\n"); json_decref(root); return; } // 將JSON對象添加到數組中 size_t i; json_t* value; json_array_foreach(root, i, value) { json_array_append(array, value); } // 打印結果 const char* result = json_dumps(array, JSON_PRESERVE_ORDER | JSON_COMPACT); printf("%s\n", result); // 釋放內存 free(result); json_decref(array);
上面的代碼中,我們首先創建了一個JSON數組,并使用json_loads()函數將字符串解析為JSON對象,判斷其是否為JSON數組,然后將JSON對象添加到數組中,并使用json_dumps()函數將結果輸出。最后,一定要記得釋放內存。