cd mycppbase
git clone https://github.com/json-parser/json-parser.git
cd json-parser
export PATH=/c/msys64/mingw64/bin:$PATH
./configure
make
three files are important
json.h
libjsonparser.a
libjsonparser.so
cd myexampledir/
g++ myjson.cpp -o myjson \
-I "/c/.../mycppbase/json-parser" \
-L "/c/.../mycppbase/json-parser" \
-l:libjsonparser.a
2条答案
按热度按时间68bkxrlz1#
有很多库可以用来从C/C ++处理JSON。
举几个例子,我已经能够编译与MinGW-w64:
杰森-C
说明:JSON-C实现了一个引用计数对象模型,允许您轻松地在C中构造JSON对象,将它们输出为JSON格式的字符串,并将JSON格式的字符串解析回JSON对象的C表示形式。
https://github.com/json-c/json-c
利比扬松
说明:Jansson是一个用于编码、解码和操作JSON数据的C库。
http://www.digip.org/jansson/
libjson-glib函数库
说明:JSON-GLib是一个为RFC 4627描述的JavaScript对象表示法(JSON)格式提供序列化和反序列化支持的库。网站URL:http://live.gnome.org/JsonGlib
json解析器
说明:以可移植ANSI C编写的占用空间非常小的JSON解析器
https://github.com/udp/json-parser
jsonh的名字
说明:用于C和C++的json解析器
https://github.com/sheredom/json.h
个jsmn
说明:jsmn(发音像"jasmine")是一个C语言的极简JSON解析器。它可以很容易地集成到资源有限的项目或嵌入式系统中。
http://zserge.com/jsmn.html
小json
说明:tiny-json是一个通用的、易于使用的嵌入式C语言json解析器。它具有快速、健壮和可移植的特点。它不仅仅是一个tokenizer。您可以获得字符串格式的数据或C类型变量中的原语值,而不会损失性能。
https://github.com/rafagafe/tiny-json
ujson4c
说明:基于超快UltraJSON库的C/C ++中用于解码JSON的用户友好层
https://github.com/esnme/ujson4c/
卡津-乔纳皮
说明:CAJUN是一个用于JSON数据交换格式的C++ API,强调直观、简洁的界面。该库提供了JSON类型和操作,在概念和设计上尽可能地模仿标准C++。
https://github.com/cajun-jsonapi/cajun-jsonapi
冷冻
说明:用于C/C ++的JSON解析器和生成器,带有类似scanf/printf的接口。面向嵌入式系统。网站URL:https://github.com/cesanta/frozen
jq
说明:jq是一个轻量级、灵活的命令行JSON处理器。
https://stedolan.github.io/jq/显示器
个js0n
说明:C语言中灵活的零内存占用JSON解析器
https://github.com/quartzjer/js0n
libfastjson函数库
说明:一个快速C语言json库
https://github.com/rsyslog/libfastjson
libxo函数库
说明:libxo库允许应用程序使用一组公共函数调用生成文本、XML、JSON和HTML输出。应用程序在运行时决定应该生成哪种输出样式。
https://github.com/Juniper/libxo
微json
说明:C语言的小JSON解析器,只使用固定范围存储。
http://www.catb.org/esr/microjson/
迷你json读取器
说明:一个不带DOM的JSON解析器,可以解析JSON对象而不分配一个字节的内存
https://github.com/giacomodrago/minijson_reader
迷你jsonwriter
说明:一个简单、开销小、无需分配且可扩展的C++ JSON编写器,直接 Package std::ostream
https://github.com/giacomodrago/minijson_writer
数据包
说明:一个公共域JSON解析器,专注于正确性、ANSI C99兼容性、完整的Unicode(UTF-8)支持、最小的内存占用和简单的API。作为一个流API,任意大的JSON都可以用少量的内存(JSON中最大字符串的大小)来处理。似乎大多数C JSON库都有一些显著的缺点:不完整的字符串支持(如果字符串包含\u0000怎么办?)、不完整的/缺少的Unicode支持,或者蹩脚的软件许可证(GPL或"不作恶")。此库旨在避免这些缺陷。
https://github.com/skeeto/pdjson显示器
皮可松
说明:C++中仅包含标头文件的JSON解析器序列化程序
https://github.com/kazuho/picojson
萨伊森
说明:用于C++11的轻量级、极高性能JSON解析器
https://github.com/chadaustin/sajson显示器
smalljson解析器
说明:这是一个简单的C语言的单文件JSON解析器。它是为资源高度受限的系统设计的。它不使用内存分配,并且可以流式传输数据,因此整个文件不需要驻留在内存中。
https://github.com/DagAgren/SmallJSONParser显示器
单值
说明:C++通用值对象和JSON库
https://github.com/jgarzik/univalue显示器
vmpqdwk32#
按照布雷希特的列表,我尝试了json-parser。下面是我如何使它工作的。希望这能帮助不熟悉这个过程的人
从MinGw G++附带的Msys终端执行此操作,因为它有“make”命令。
更新日期:2022年11月20日
前面的例子是链接一个静态可执行文件。
要动态链接,我们需要将.so文件重命名为.dll文件。(参见下面的注解)
以下是在gitbash终端中完成并工作的。