在 C 語言中,二維數(shù)組是一種常見的數(shù)據(jù)結(jié)構(gòu)。當(dāng)需要將二維數(shù)組轉(zhuǎn)換為 JSON 對(duì)象時(shí),可以使用以下方法。
首先,需要引入 JSON-c 庫。該庫提供了一組操作 JSON 對(duì)象的函數(shù)。
#include <json-c/json.h>
接下來,創(chuàng)建一個(gè)二維數(shù)組:
int array[2][2] = { {1, 2}, {3, 4} };
然后,創(chuàng)建一個(gè) JSON 對(duì)象:
json_object *jobj = json_object_new_object();
在 JSON 對(duì)象中,可以使用 json_object_new_array() 函數(shù)創(chuàng)建一個(gè) JSON 數(shù)組對(duì)象:
json_object *jarr = json_object_new_array();
然后,使用循環(huán)將二維數(shù)組中的數(shù)據(jù)添加到數(shù)組對(duì)象中:
for (int i=0; i<2; i++) { for (int j=0; j<2; j++) { int value = array[i][j]; json_object *jval = json_object_new_int(value); json_object_array_add(jarr, jval); } }
最后,將數(shù)組對(duì)象添加到 JSON 對(duì)象中:
json_object_object_add(jobj, "array", jarr);
完整代碼如下:
#include <stdio.h> #include <json-c/json.h> int main() { int array[2][2] = { {1, 2}, {3, 4} }; json_object *jobj = json_object_new_object(); json_object *jarr = json_object_new_array(); for (int i=0; i<2; i++) { for (int j=0; j<2; j++) { int value = array[i][j]; json_object *jval = json_object_new_int(value); json_object_array_add(jarr, jval); } } json_object_object_add(jobj, "array", jarr); printf("%s\n", json_object_to_json_string(jobj)); return 0; }