資料介紹
軟件簡介
C語言JSON解析庫:Exjson
什么是Exjson?
Exjson是一款高性能的基于Flex & Bison的?JSON?解析器,Xserver引擎自帶,其他需要使用的只需要引入幾個(gè)頭文件和源文件即可
Exjson適應(yīng)場合
Exjson適合于在需要在底層C語言或者C++語言層面使用?JSON?功能的場景。目前大部分接口使用的都是?JSON?格式傳輸,后面增加?xml解析庫
注意
Exjson支持注釋,Exjson中注釋以?#
?或者//
?開頭,一直延續(xù)到行尾,如下是合格的?Exjson格式
{ "name": "Exjson", // 名字:Exjson "version": "1.0", # 版本號(hào) "platform": [ "MacOSX", "Linux", "Windows" ] }
APIs
// 生成一個(gè)EXJSON對象 EXJSON_API EXJSON * INIT_EXJSON(); // 生成一個(gè) string: long int 的鍵值對 EXJSON_API int add_object_int(EXJSON *exjson, char *key, long val); // 生成一個(gè) string: double 的鍵值對 EXJSON_API int add_object_double(EXJSON *exjson, char *key, double val); // 生成一個(gè) string : string 的鍵值對 EXJSON_API int add_object_string(EXJSON *exjson, char *key, char *val); // 生成一個(gè) string: {} 的鍵值對 EXJSON_API int add_object_object(EXJSON *exjson, char *key, void *val); // 生成一個(gè) string: [] 的鍵值對 EXJSON_API int add_object_array(EXJSON *exjson, char *key, void *val); // 上面添加方法的一個(gè)通用函數(shù) EXJSON_API int add_object_ptr(EXJSON *exjson, char *key, void *val, unsigned char val_type); // 生成一個(gè) long int 的一個(gè)數(shù)組元素 EXJSON_API int add_array_int(EXJSON *exjson, long val); // 生成一個(gè) double 的一個(gè)數(shù)組元素 EXJSON_API int add_array_double(EXJSON *exjson, double val); // 生成一個(gè) string 的一個(gè)數(shù)組元素 EXJSON_API int add_array_string(EXJSON *exjson, char *val); // 生成一個(gè) 對象{} 的一個(gè)數(shù)組元素 EXJSON_API int add_array_object(EXJSON *exjson, void *val); // 生成一個(gè) 數(shù)組的 的一個(gè)數(shù)組元素 EXJSON_API int add_array_array(EXJSON *exjson, void *val); // 上面方法的通用函數(shù) EXJSON_API int add_array_ptr(EXJSON *exjson, void *val, unsigned char val_type); // 打印 EXJSON 信息 PRINT_EXJSON(exjson); // 從 EXJSON結(jié)構(gòu)中獲取數(shù)據(jù) EXJSON_API void *exjson_get_val_from_key(EXJSON *exjson, char *key); EXJSON_API void *exjson_get_val_from_index(EXJSON *exjson, int index); // 編碼JSON字符串為EXJSON結(jié)構(gòu) EXJSON_API extern EXJSON *decode_json(char *json_string); // EXJSON結(jié)構(gòu)解碼為JSON字符串 EXJSON_API char *encode_json(EXJSON *exjson); // 使用完畢后,需要釋放內(nèi)存 EXJSON_API void destroy_exjson(EXJSON *exjson);
示例
#include#include "exjson.h" int main(int argc, char *argv[]) { EXJSON *v = decode_json("{\n" " "b": 100,\n" " "a":{\n" " "a": "b"\n" " }\n" "}"); // 返回的字符串因?yàn)榉峙淞藘?nèi)存,需要手動(dòng)釋放 char *str = encode_json(v); printf("%s", str); free(str); destroy_exjson(v); return 0; }
- C和C++實(shí)物精選《C專家編程》 0次下載
- C和C++經(jīng)典著作《C和指針》 0次下載
- C和C++經(jīng)典著作-C專家編程.PDF 0次下載
- C++常見設(shè)計(jì)模式解析與實(shí)現(xiàn) 11次下載
- 如何深度解析C++拷貝構(gòu)造函數(shù)詳細(xì)資料說明
- C++開源庫的詳細(xì)資料合集免費(fèi)下載
- C++的框架、庫和資源資料匯總大全
- C++的開源庫大全詳細(xì)資料說明
- C++的框架、庫和代碼分析的資料大全
- C++程序設(shè)計(jì)教程之C++工具的詳細(xì)資料說明 4次下載
- C++程序設(shè)計(jì)教程之C++的初步知識(shí)的詳細(xì)資料說明 31次下載
- VISUAL C++教程之VISUAL C++的安裝和使用方法 19次下載
- c280x / c2801x C / C++頭文件和外周 實(shí)例快速啟動(dòng) 7次下載
- The C++ Standard Library 0次下載
- c++標(biāo)準(zhǔn)庫手冊 43次下載
- 基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:SafeQueue 340次閱讀
- 基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:SafeStack 361次閱讀
- 基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:SafeBlockQueue 332次閱讀
- OpenHarmony標(biāo)準(zhǔn)系統(tǒng)C++公共基礎(chǔ)類庫案例:HelloWorld 553次閱讀
- vb語言和c++語言的區(qū)別 2431次閱讀
- C++簡史:C++是如何開始的 637次閱讀
- C語言和C++中那些不同的地方 986次閱讀
- 使用C++編寫通用庫并在 Rust 中使用它 (WASI) 1133次閱讀
- C與C++混合編程是什么 1744次閱讀
- C++語言的發(fā)展 617次閱讀
- C/C++基礎(chǔ)知識(shí)匯總 2438次閱讀
- C++:引用的使用場景 4092次閱讀
- C++封裝:this指針 3492次閱讀
- 基于STM32F4的 C++封裝(完整代碼) 9696次閱讀
- C++輸入/輸出流 933次閱讀
下載排行
本周
- 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
- 2Altium Designer元件庫
- 17.11 MB | 6次下載 | 免費(fèi)
- 324V2A開關(guān)電源PCB資料分享
- 0.23 MB | 4次下載 | 1 積分
- 4GD100PIX120C6SNA規(guī)格書
- 0.98 MB | 3次下載 | 免費(fèi)
- 5Multisim模擬電路仿真教程
- 1.93 MB | 1次下載 | 3 積分
- 6BK7258英文規(guī)格書
- 1.67 MB | 1次下載 | 免費(fèi)
- 7RA4L1硬件手冊
- 21.89 MB | 1次下載 | 免費(fèi)
- 8RA4L1_SENSOR-V1原理圖
- 754.36 KB | 1次下載 | 免費(fèi)
本月
- 1晶體三極管的電流放大作用詳細(xì)說明
- 0.77 MB | 32次下載 | 2 積分
- 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
- 4.03 MB | 25次下載 | 1 積分
- 3AIWA HS-J303 MKⅡ維修手冊
- 22.47 MB | 24次下載 | 10 積分
- 4九陽豆?jié){機(jī)高清原理圖
- 2.47 MB | 23次下載 | 1 積分
- 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
- 1.81 MB | 21次下載 | 2 積分
- 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
- 13.60 MB | 16次下載 | 10 積分
- 7東芝彩色電視機(jī)29SF6C維修說明書
- 4.86 MB | 9次下載 | 1 積分
- 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
- 4.27 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420063次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191382次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183338次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81586次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73814次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論