在 C 語言中,結構體是一種非常常見的數據類型,而在現代化的 Web 開發中,Json 成為了一種非常流行的數據傳輸方式。將 C 結構體轉換成 Json 可以方便地將數據傳輸給 Web 前端,是非常實用的一種技術。
要實現 C 結構體向 Json 的轉換,我們需要使用 Json 庫。下面是一個實現該功能的代碼示例:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #include <jansson.h> typedef struct { int id; char name[20]; float score; } Student; void student_to_json(Student *s, json_t *j) { json_object_set_new(j, "id", json_integer(s->id)); json_object_set_new(j, "name", json_string(s->name)); json_object_set_new(j, "score", json_real(s->score)); } int main() { Student s = {1, "小明", 85.5}; json_t *j = json_object(); student_to_json(&s, j); char *json_str = json_dumps(j, JSON_INDENT(4)); printf("Json string: %s\n", json_str); json_decref(j); free(json_str); return 0; }
以上示例代碼演示了如何將一個 Student 結構體轉換成 Json 字符串,具體實現步驟如下:
- 首先,我們需要引入 json 庫的頭文件。
- 接著,我們定義了一個 Student 結構體和一個 student_to_json 函數。這個函數負責將 Student 結構體中的數據填充到 json_t 對象中。
- 在 main 函數中,我們將 Student 結構體轉換成 json_t 對象,然后將 json_t 對象轉換成 Json 字符串,并在控制臺中輸出。
- 最后,我們釋放 json_t 對象和 Json 字符串的內存。
使用這種方式,我們可以將任何 C 結構體轉換成 Json 字符串,實現數據傳輸的自動生成和解析。這種方法在通過 Web 接口傳輸數據時非常有用,可以更加輕松地實現前后端數據交互。
上一篇vue.jsv-html
下一篇c 編寫json解析