C語言中的Json結構體轉字符串是一項非常常見的操作。Json結構體是一個用于存儲Json數據的數據結構,字符串則是對Json數據的一種表達形式。
Json結構體轉字符串的過程,可以通過將Json數據的各個部分逐一轉換為字符串,再拼接起來的方式實現。
// 定義Json結構體 typedef struct { char* name; char* gender; int age; } Person; // Json結構體轉字符串 char* person_to_json(Person* p) { char* json_str; // 將Json數據各部分轉換為字符串 char* name_str = malloc(strlen(p->name)+10); sprintf(name_str, "\"name\":\"%s\"", p->name); char* gender_str = malloc(strlen(p->gender)+12); sprintf(gender_str, "\"gender\":\"%s\"", p->gender); char* age_str = malloc(10); sprintf(age_str, "\"age\":%d", p->age); // 拼接字符串 json_str = malloc(strlen(name_str) + strlen(gender_str) + strlen(age_str) + 6); sprintf(json_str, "{%s,%s,%s}", name_str, gender_str, age_str); free(name_str); free(gender_str); free(age_str); return json_str; }
在上述代碼中,首先我們定義了一個名為Person的Json結構體。其成員包括name、gender和age三個部分。我們可以將這些結構體數據逐一轉換為字符串,用 sprintf 函數將其拼接起來。
最后,我們需要釋放動態分配的內存,防止內存泄漏。
上一篇c語言json源碼
下一篇vue https自簽名