如果你需要將一個C語言的幾何數據結構轉換成JSON,那么你可以使用下面這段代碼。
#include#include #include typedef struct _point { double x; double y; } Point; typedef struct _line { Point start; Point end; } Line; int main() { Line line = {{0, 0}, {1, 1}}; json_object *jobj; jobj = json_object_new_object(); json_object *jstart; jstart = json_object_new_object(); json_object *jend; jend = json_object_new_object(); json_object_object_add(jstart, "x", json_object_new_double(line.start.x)); json_object_object_add(jstart, "y", json_object_new_double(line.start.y)); json_object_object_add(jend, "x", json_object_new_double(line.end.x)); json_object_object_add(jend, "y", json_object_new_double(line.end.y)); json_object_object_add(jobj, "start", jstart); json_object_object_add(jobj, "end", jend); const char *json_str = json_object_to_json_string(jobj); printf("%s\n", json_str); return 0; }
在上面的代碼中,我們定義了兩個結構體,Point和Line來表示點和線段。我們要將一個Line類型的變量line轉換成JSON字符串。
我們使用JSON-C庫中的json_object_new_object()來創建一個新的JSON對象,然后使用json_object_new_double()來將數據轉換成JSON格式。
最后,我們使用json_object_to_json_string()函數將JSON對象轉換成字符串,然后打印輸出即可。
上一篇c hash轉json
下一篇c gzip json