在C語言中操作JSON數據需要使用一些特定格式的庫函數,而為了把C語言中的數組數據轉為JSON數組對象,需要使用一個叫做cJSON的庫。
#include "cJSON.h" int main() { cJSON *root = NULL; cJSON *array = NULL; cJSON *item = NULL; root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "my_array", array = cJSON_CreateArray()); int my_array[] = {1, 2, 3, 4, 5}; for (int i = 0; i< 5; i++) { cJSON_AddItemToArray(array, item = cJSON_CreateObject()); cJSON_AddNumberToObject(item, "index", i); cJSON_AddNumberToObject(item, "value", my_array[i]); } char *dump = cJSON_Print(root); printf("%s\n", dump); cJSON_Delete(root); free(dump); return 0; }
以上代碼將一個C語言數組轉換成了一個如下格式的JSON數組對象:
{ "my_array": [ { "index": 0, "value": 1 }, { "index": 1, "value": 2 }, { "index": 2, "value": 3 }, { "index": 3, "value": 4 }, { "index": 4, "value": 5 } ] }
可以看到,通過C語言中的循環、條件語句,配合cJSON庫中提供的函數,我們可以輕松將C語言數組轉換成JSON數組對象。
上一篇python 灰度值矩陣
下一篇each json