c把實體類轉換成json非常便捷,只需使用json-c庫即可實現。
首先,需要在代碼中包含json-c庫的頭文件:
#include <json-c/json.h>
接著,在實體類中定義需要轉換的屬性:
typedef struct { int id; const char *name; double score; bool sex; } Student;
然后,定義一個函數將實體類轉換為json格式:
char *student_to_json(Student stu) { struct json_object *root, *element; root = json_object_new_object(); element = json_object_new_int(stu.id); json_object_object_add(root, "id", element); element = json_object_new_string(stu.name); json_object_object_add(root, "name", element); element = json_object_new_double(stu.score); json_object_object_add(root, "score", element); element = json_object_new_boolean(stu.sex); json_object_object_add(root, "sex", element); return json_object_to_json_string(root); }
以上代碼中,json_object_new_xxx()函數用于創建指定類型的json對象,json_object_object_add()函數用于將對象添加到json中。
最后,可以在main函數中調用該函數:
int main() { Student stu = {1, "Tom", 98.5, true}; char *json_str = student_to_json(stu); printf("轉換后的json字符串為:%s\n", json_str); return 0; }
運行結果如下:
轉換后的json字符串為:{"id":1, "name":"Tom", "score":98.5, "sex":true}
上一篇python 爬蟲反爬蟲
下一篇python 爬蟲搶單