C JSON序列化是將C數據結構轉換為JSON格式的數據的過程,可以方便地將數據傳輸給其他系統或保存到文件中。本文將介紹如何使用C語言進行二維數組的JSON序列化。
首先,定義一個二維數組:
int array[2][3] = {{1, 2, 3}, {4, 5, 6}};
然后,定義一個JSON對象并分配內存:
json_object *json = json_object_new_object();
接下來,使用json_object_new_array創建一個子對象,并在其中填充數據:
json_object *sub_json = json_object_new_array(); int i,j; for(i=0; i<2; i++){ for(j=0; j<3; j++){ json_object_array_add(sub_json, json_object_new_int(array[i][j])); } json_object_object_add(json, "row", sub_json); }
最后,使用json_object_to_json_string將JSON對象轉換為JSON字符串:
const char *json_str = json_object_to_json_string(json);
完整代碼如下:
#include#include int main(){ int array[2][3] = {{1, 2, 3}, {4, 5, 6}}; json_object *json = json_object_new_object(); json_object *sub_json = json_object_new_array(); int i,j; for(i=0; i<2; i++){ for(j=0; j<3; j++){ json_object_array_add(sub_json, json_object_new_int(array[i][j])); } json_object_object_add(json, "row", sub_json); } const char *json_str = json_object_to_json_string(json); printf("%s", json_str); return 0; }
以上代碼執行結果為:
{ "row": [ 1, 2, 3, 4, 5, 6 ] }
上一篇c json 對象使用