在C語言編程中,使用JSON數組是一種非常常見的數據傳輸格式。因此,將C語言中的類轉換成JSON數組也是必備技能之一。
下面我們就來看一下如何將C語言中的類轉換成JSON數組:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> typedef struct { int id; char name[20]; int age; } Person; int main() { Person person1 = {1, "John", 25}; Person person2 = {2, "Jane", 22}; json_t* root = json_array(); json_t* person1_json = json_object(); json_t* person2_json = json_object(); json_object_set_new(person1_json, "id", json_integer(person1.id)); json_object_set_new(person1_json, "name", json_string(person1.name)); json_object_set_new(person1_json, "age", json_integer(person1.age)); json_object_set_new(person2_json, "id", json_integer(person2.id)); json_object_set_new(person2_json, "name", json_string(person2.name)); json_object_set_new(person2_json, "age", json_integer(person2.age)); json_array_append_new(root, person1_json); json_array_append_new(root, person2_json); char* json_str = json_dumps(root, JSON_INDENT(4)); printf("%s\n", json_str); free(json_str); json_decref(root); json_decref(person1_json); json_decref(person2_json); return 0; }
如上代碼所示,我們定義了一個Person結構體,并在main函數中生成了兩個實例,即person1和person2,然后將這兩個實例轉換成了JSON數組。
首先,我們創建了一個空的JSON數組root,然后創建了兩個JSON對象person1_json和person2_json,將這兩個對象分別寫入了對應的id、name和age屬性。
最后,使用函數json_array_append_new將person1_json和person2_json對象添加到了root數組中,并使用json_dumps將root數組轉換成了字符串。
通過執行該代碼,我們就可以將C語言中的結構體轉換成JSON數組了。