C語言不像其他現代編程語言提供一些現成的庫可以方便地將實體類(也就是結構體struct)轉換成JSON數據。但是我們可以使用一些手動的方式來完成這個轉換過程。
/* * 定義一個學生的結構體 */ struct Student { char name[20]; int age; char gender; float score; }; /* * 將學生的結構體轉換成JSON字符串 * 這里使用了一個簡單的字符串拼接的方式來構造JSON字符串 */ char* studentToJson(struct Student s) { char* result = (char*)malloc(sizeof(char) * 100); sprintf(result, "{ \"name\": \"%s\", \"age\": %d, \"gender\": \"%c\", \"score\": %.2f }", s.name, s.age, s.gender, s.score); return result; } /* * 測試代碼 */ int main() { struct Student s = {"Tom", 18, 'M', 89.5}; char* jsonStr = studentToJson(s); printf("%s\n", jsonStr); free(jsonStr); return 0; }
通過上面的代碼,我們可以將一個學生的數據結構體轉換成一個JSON字符串,并打印輸出。如果需要轉換的實體類比較復雜,我們也可以參考上面的代碼,手動構造出JSON字符串。
上一篇mysql發呆
下一篇c 字符轉化json