在C語言編程中,將點的集合轉(zhuǎn)換為JSON格式是一項很常見的任務(wù)。JSON格式常被用來在不同的平臺之間傳遞數(shù)據(jù),非常適合用于前后端交互。下面我們來了解一下如何將點的集合轉(zhuǎn)換為JSON格式。
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <json-c/json.h> struct point { int x; int y; }; int main() { struct point set[3] = {{1, 2}, {3, 4}, {5, 6}}; json_object *jobj = json_object_new_array(); // 創(chuàng)建JSON數(shù)組對象 for (int i = 0; i < 3; i++) { json_object *jpoint = json_object_new_object(); // 創(chuàng)建JSON對象 json_object_object_add(jpoint, "x", json_object_new_int(set[i].x)); // 添加對象屬性 json_object_object_add(jpoint, "y", json_object_new_int(set[i].y)); json_object_array_add(jobj, jpoint); // 將對象添加到數(shù)組中 } printf("%s\n", json_object_to_json_string(jobj)); // 打印JSON格式字符串 json_object_put(jobj); // 釋放JSON對象內(nèi)存 return 0; }
在上面的代碼中,我們首先定義了一個點的結(jié)構(gòu)體,包括x和y坐標(biāo)。然后我們通過json-c庫中的函數(shù)創(chuàng)建了一個JSON數(shù)組對象,并利用循環(huán)將每個點轉(zhuǎn)換為JSON對象,再將其添加到JSON數(shù)組對象中。最后我們通過json-c庫中的函數(shù)將JSON數(shù)組對象打印出來,得到JSON格式字符串。
值得注意的是,在每個JSON對象中,我們使用了json-c庫中的函數(shù)json_object_object_add()來添加屬性,該函數(shù)接受鍵和值作為參數(shù)。為了將JSON格式字符串打印出來,我們使用了函數(shù)json_object_to_json_string(),該函數(shù)將JSON對象轉(zhuǎn)換為JSON格式字符串。
當(dāng)我們使用完JSON對象后,必須使用json_object_put()函數(shù)來釋放內(nèi)存,以免造成內(nèi)存泄漏。
上一篇python 滑窗類試題
下一篇vue保存文件流