JSON(JavaScript Object Notation)是一種輕量級的數據格式,它具有易于人類閱讀和編寫、易于機器解析和生成、支持不同語言之間的數據交換、基于鍵值對的數據結構等優點。在C語言中,有許多JSON框架可以使用。比如 cJSON、jansson、yajl 等,下面我們就從cJSON入手,來了解一下C語言中的JSON框架。
cJSON *cjson = cJSON_CreateObject(); cJSON_AddItemToObject(cjson, "name", cJSON_CreateString("Json")); cJSON_AddItemToObject(cjson, "age", cJSON_CreateNumber(21)); char *json = cJSON_Print(cjson); printf("json=%s\n", json);
cJSON是一個基于C語言的JSON解析庫,該庫提供了用于創建、解析JSON文檔的函數和宏。比如上面代碼中,我們使用cJSON_CreateObject()函數創建了一個空的JSON對象,然后通過cJSON_AddItemToObject()函數,為該對象添加了兩個鍵值對,一個是"name"鍵和"Json"值的字符串,另一個是"age"鍵和21的整數值。最后,我們使用cJSON_Print()函數將該JSON對象轉換為一個字符串。
cJSON *cjson = cJSON_Parse(json); cJSON_Print(cjson);
除了創建JSON對象,我們還可以使用cJSON_Parse()函數將JSON字符串解析為一個JSON對象,具體如上面代碼展示。這里需要注意的是,如果json字符串結尾沒有空格或者換行符等,則需要在cJSON_Print()函數調用后手動添加一個換行符,否則無法正確輸出。
總之,cJSON是一個簡單易用的C語言JSON解析庫。當然還有其他類似的庫,可以根據自己的需求選擇使用。
上一篇c json 自身對象
下一篇c json 編碼