【发布时间】:2022-09-30 17:15:39
【问题描述】:
我正在使用 VS Code 在 Windows 上使用 mingw-w64 g++ 编写 C++。
我需要能够解析一些 JSON 字符串。
mingw 似乎没有任何内置的 JSON 支持。
在 windows 10 上的 mingw-w64 中设置 JSON 支持的方法是什么?
我正在使用 VS Code 在 Windows 上使用 mingw-w64 g++ 编写 C++。
我需要能够解析一些 JSON 字符串。
mingw 似乎没有任何内置的 JSON 支持。
在 windows 10 上的 mingw-w64 中设置 JSON 支持的方法是什么?
有很多库可以用来处理来自 C/C++ 的 JSON。
举几个我已经能够用 MinGW-w64 编译的例子:
描述:Jansson 是一个用于编码、解码和操作的 C 库 JSON 数据。
描述:JSON-GLib 是一个为 RFC 4627 描述的 JavaScript Object Notation (JSON) 格式提供序列化和反序列化支持的库。 网址:http://live.gnome.org/JsonGlib
描述:用可移植的 ANSI C 编写的占用空间非常小的 JSON 解析器
https://github.com/udp/json-parser
描述:C 和 C++ 的 json 解析器
https://github.com/sheredom/json.h
描述:jsmn(读作“jasmine”)是一个简约的 JSON 解析器 在 C 中。它可以很容易地集成到资源有限的项目或嵌入式系统中。
描述:tiny-json 是一个通用且易于使用的 C 语言 json 解析器,适用于嵌入式系统。它快速、坚固且便携。它不仅是一个标记器。您可以获取字符串格式的数据或获取 C 类型的原始值 没有性能损失的变量。
https://github.com/rafagafe/tiny-json
描述:一个更加用户友好的层,用于在 C/C++ 中解码 JSON,基于 超快速的 UltraJSON 库
https://github.com/esnme/ujson4c/
描述:CAJUN 是一个用于 JSON 数据交换格式的 C++ API,强调直观、简洁的界面。该库提供了在概念和设计上尽可能模仿标准 C++ 的 JSON 类型和操作。
https://github.com/cajun-jsonapi/cajun-jsonapi
描述:用于 C/C++ 的 JSON 解析器和生成器,具有类似 scanf/printf 的接口。针对嵌入式系统。 网址:https://github.com/cesanta/frozen
描述:jq 是一个轻量级且灵活的命令行 JSON 处理器。
https://stedolan.github.io/jq/
描述:C 中灵活的零足迹 JSON 解析器
https://github.com/quartzjer/js0n
描述:一个用于 C 的快速 json 库
https://github.com/rsyslog/libfastjson
描述:libxo 库允许应用程序生成文本、XML、 使用一组通用函数调用的 JSON 和 HTML 输出。应用程序在运行时决定应该生成哪种输出样式。
https://github.com/Juniper/libxo
描述:C 中的微型 JSON 解析器,仅使用固定范围存储。
http://www.catb.org/esr/microjson/
描述:一个无 DOM 的 JSON 解析器,可以解析 JSON 对象而无需分配单个字节的内存
https://github.com/giacomodrago/minijson_reader
描述:一个简单、低开销、无分配且可扩展的 C++ JSON 编写器,直接包装一个 std::ostream
https://github.com/giacomodrago/minijson_writer
描述:一个公共领域的 JSON 解析器,专注于正确性、ANSI C99 合规性、完整的 Unicode (UTF-8) 支持、最小的内存占用和简单的 API。作为流式 API,可以使用少量内存(JSON 中最大字符串的大小)处理任意大的 JSON。似乎大多数 C JSON 库在某些方面很糟糕:损坏的字符串支持(如果字符串包含 \u0000 怎么办?),损坏/缺少 Unicode 支持,或糟糕的软件许可证(GPL 或“do no evil”)。该库旨在避免这些缺陷。
https://github.com/skeeto/pdjson
描述:C++ 中的仅头文件、JSON 解析器序列化器
https://github.com/kazuho/picojson
描述:用于 C++11 的轻量级、极高性能 JSON 解析器
https://github.com/chadaustin/sajson
描述:这是一个简单的 C 语言单文件 JSON 解析器。它专为高度资源受限的系统而设计。它不使用内存分配,并且可以流式传输数据,因此整个文件不需要驻留在内存中。
https://github.com/DagAgren/SmallJSONParser
描述:C++ 通用值对象和 JSON 库
【讨论】: