一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Exjson C/C++高性能JSON解析庫

Exjson C/C++高性能JSON解析庫

2022-06-22 | zip | 0.04 MB | 次下載 | 免費(fèi)

資料介紹

授權(quán)協(xié)議 LGPL
開發(fā)語言 C/C++
操作系統(tǒng) 跨平臺(tái)
軟件類型 開源軟件

軟件簡介

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;
}
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
  2. 4.27 MB   |  9次下載  |  免費(fèi)
  3. 2Altium Designer元件庫
  4. 17.11 MB   |  6次下載  |  免費(fèi)
  5. 324V2A開關(guān)電源PCB資料分享
  6. 0.23 MB   |  4次下載  |  1 積分
  7. 4GD100PIX120C6SNA規(guī)格書
  8. 0.98 MB   |  3次下載  |  免費(fèi)
  9. 5Multisim模擬電路仿真教程
  10. 1.93 MB   |  1次下載  |  3 積分
  11. 6BK7258英文規(guī)格書
  12. 1.67 MB   |  1次下載  |  免費(fèi)
  13. 7RA4L1硬件手冊
  14. 21.89 MB  |  1次下載  |  免費(fèi)
  15. 8RA4L1_SENSOR-V1原理圖
  16. 754.36 KB  |  1次下載  |  免費(fèi)

本月

  1. 1晶體三極管的電流放大作用詳細(xì)說明
  2. 0.77 MB   |  32次下載  |  2 積分
  3. 2雙極型三極管放大電路的三種基本組態(tài)的學(xué)習(xí)課件免費(fèi)下載
  4. 4.03 MB   |  25次下載  |  1 積分
  5. 3AIWA HS-J303 MKⅡ維修手冊
  6. 22.47 MB   |  24次下載  |  10 積分
  7. 4九陽豆?jié){機(jī)高清原理圖
  8. 2.47 MB   |  23次下載  |  1 積分
  9. 5多級(jí)放大電路的學(xué)習(xí)課件免費(fèi)下載
  10. 1.81 MB   |  21次下載  |  2 積分
  11. 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
  12. 13.60 MB   |  16次下載  |  10 積分
  13. 7東芝彩色電視機(jī)29SF6C維修說明書
  14. 4.86 MB   |  9次下載  |  1 積分
  15. 8人形機(jī)器人電機(jī)驅(qū)動(dòng)和傳感報(bào)告
  16. 4.27 MB   |  9次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191382次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183338次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81586次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分