C 對象列表轉 JSON 對象是一種常見的數(shù)據(jù)轉換過程,可以方便地將 C 語言中的結構體數(shù)組等數(shù)據(jù)轉換成 JSON 數(shù)據(jù),在網(wǎng)絡通信和數(shù)據(jù)存儲等方面起到重要作用。
/* 定義結構體 Student */ typedef struct { int id; char name[20]; float score; } Student; /* 定義結構體數(shù)組 */ Student studentList[3] = { {1, "Tom", 89.5}, {2, "Jerry", 92}, {3, "Lucy", 84.5} }; /* 將 Student 結構體數(shù)組轉換成 JSON 對象 */ json_object* studentListJson = json_object_new_array(); for (int i = 0; i< 3; i++) { json_object* studentJson = json_object_new_object(); json_object_object_add(studentJson, "id", json_object_new_int(studentList[i].id)); json_object_object_add(studentJson, "name", json_object_new_string(studentList[i].name)); json_object_object_add(studentJson, "score", json_object_new_double(studentList[i].score)); json_object_array_add(studentListJson, studentJson); }
以上是將 C 語言中的結構體數(shù)組轉換成 JSON 對象的代碼示例,通過使用 json-c 庫中的 json_object_new_array() 和 json_object_new_object() 函數(shù),可以創(chuàng)建對應的 JSON 數(shù)組和對象,然后使用 json_object_object_add() 函數(shù)將結構體中的元素以鍵值對的形式添加到 JSON 對象中。
通過上述代碼,我們可以得到如下的 JSON 數(shù)據(jù):
[ { "id":1, "name":"Tom", "score":89.5 }, { "id": 2, "name": "Jerry", "score": 92 }, { "id": 3, "name": "Lucy", "score": 84.5 } ]
可以看到,轉換后的 JSON 對象與 C 語言中的結構體數(shù)組一一對應,具有相同的數(shù)據(jù)結構與元素。
上一篇vue event事件