在C語言中,數(shù)組是一種基本的數(shù)據(jù)結(jié)構(gòu),在很多場景下都可能會用到。另外,JSON作為一種輕量級的數(shù)據(jù)交換格式,也被廣泛應用。在C語言中,如何將數(shù)組轉(zhuǎn)換成JSON格式呢?
//舉例演示 int 數(shù)組轉(zhuǎn)換為json格式的方法 #include#include #include #include "json.h" #define ARRAY_SIZE 3 int main(int argc, char **argv) { json_object *my_object; json_object *my_array; int my_array_values[ARRAY_SIZE] = { 1, 2, 3 }; int i; my_array = json_object_new_array(); for (i = 0; i< ARRAY_SIZE; i++) { json_object_array_add(my_array, json_object_new_int(my_array_values[i])); } my_object = json_object_new_object(); json_object_object_add(my_object, "my_array", my_array); printf("JSON:\n %s\n", json_object_to_json_string(my_object)); return 0; }
在這段示例代碼中,首先我們使用了json-c庫里面的json_object_new_array()函數(shù),創(chuàng)建了一個名叫my_array的json object。然后,我們遍歷了整個int數(shù)組數(shù)列my_array_values數(shù)組,將數(shù)組中的每個元素轉(zhuǎn)換為json format,并且用json_object_array_add()函數(shù)將其添加到my_array中。之后,我們用json_object_new_object()函數(shù)再創(chuàng)建另外一個json object my_object。最后,我們調(diào)用json_object_object_add()將my_array作為my_object的一個屬性添加進去,接著調(diào)用json_object_to_json_string()函數(shù)將所有的json內(nèi)容轉(zhuǎn)換成string類型,最后通過printf()函數(shù)輸出到控制臺中。