本文目錄一覽:
JSON解析器json-c
JSON-C實現了一個引用計數對象模型,它允許您輕鬆地使用C語言來構建JSON對象,將它們輸出為JSON格式的字符串,並將JSON格式字符串解析回JSON對象的C語言表示形式。它的目標是符合 RFC 7159 標準。
使用automake的編譯過程如下:
使用cmake編譯的過程如下:
cmake可選的幾個編譯選項為:
要使用json-c,最簡單的方式是包含json.h頭文件即可,或者最好是下列更具體的頭文件之一:
詳細且全面的API介紹文檔:
JSON-C支持的JSON對象類型有7種:
下面系列函數用於創建一個JSON對象:
給JSON對象增加字段(不會增加引用計數):
刪除json對象的指定字段,被刪除的對象引用計數減去1,如果這個val沒有更多的所有者,這個key對應的val被free,否則這個val的引用保存在內存中:
增加一個元素到json數組的末尾,obj引用計數不會增加,增加字段的方式更加緊湊;如果需要獲取val的引用,需要用json_object_get()來傳遞該對象:
替換json數組中的值:
json數組的排序,這裡需要自己寫排序函數:
獲取json對象的長度,依據字段的數目:
獲取json對象的哈希表:
獲取對象的數組列表:
獲取json的類型:
獲取json數組對象的長度:
獲取json對象的bool值,int和double對象是0轉換為FALSE,否則返回TRUE;非0長度的字符串返回TRUE;其他對象非空的話,返回TRUE:
獲取json對象的長度,如果參數不是string類型的json,返回0:
按照索引獲取json數組的對象:
轉換json對象到c字符串格式:
獲取JSON中指定類型的數值:
將字符串轉換為json對象:
以下兩個函數配合使用,前者獲取該對象指針的所有權,引用計數加1,如果對象已經被釋放,返回NULL;後者引用計數減1,如果對象已經被釋放,返回1:
類型判斷:
json_util.h提供了有關文件讀寫操作的函數,這個文件的內容是json格式的:
c語言怎麼解析json字符串
列出了一堆C語言的JSON庫。
C:
JSON_checker.
YAJL.
js0n.
LibU.
json-c.
json-parser.
jsonsl.
WJElement.
M’s JSON parser.
cJSON.
Jansson.
jsmn.
cson.
parson.
ujson4c.
nxjson.
frozen.
c語言 解析json字符串
你好,你用json-c庫,編譯通過了嗎?我是在ubuntu里使用json-c庫,但是無法編譯通過,報錯 undefined reference to ‘json_tokener_parse’,類似的函數沒定義的錯誤,你是怎麼調用的json-c庫?請教一下,謝謝!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306092.html