JSON是一種輕量級的數據交換格式,被廣泛應用于網絡傳輸和數據存儲。C語言作為一種高效的編程語言,在處理JSON格式數據時也有其優勢。但C語言本身并沒有內置JSON解析和封裝的庫,為了方便處理JSON數據,我們可以使用第三方庫來進行封裝。
目前比較流行的C語言JSON解析與封裝庫有cJSON和JSMN。其中cJSON是基于鏈表實現的,而JSMN則是基于棧實現的。這里我們以cJSON為例,介紹如何封裝JSON格式。
#include "cJSON.h" // 封裝帶有兩個鍵值對的JSON對象 char* createJsonString(){ cJSON *root, *item; root = cJSON_CreateObject(); // 創建根節點,即JSON對象 cJSON_AddItemToObject(root, "name", cJSON_CreateString("JsonTest")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(30)); char *jsonString = cJSON_Print(root); // 將JSON對象轉換為字符串 cJSON_Delete(root); // 刪除JSON對象,釋放內存 return jsonString; }
該代碼封裝了一個帶有"name"和"age"兩個鍵值對的JSON對象,并將其轉換為字符串返回。下面我們調用該函數并打印結果:
int main(){ char *jsonString = createJsonString(); printf("%s\n", jsonString); return 0; }
運行結果如下:
{"name":"JsonTest","age":30}
這就是使用cJSON庫封裝JSON格式的基本流程。除了創建JSON對象,cJSON還提供了一系列添加、刪除、遍歷JSON節點的函數,可以方便地對JSON進行處理。
上一篇c# json中文轉碼
下一篇c語言打包json