【问题标题】:how to parse JSON string in mingw-w64 g++ on Windows 10?如何在 Windows 10 上解析 mingw-w64 g++ 中的 JSON 字符串?
【发布时间】:2022-09-30 17:15:39
【问题描述】:

我正在使用 VS Code 在 Windows 上使用 mingw-w64 g++ 编写 C++。

我需要能够解析一些 JSON 字符串。

mingw 似乎没有任何内置的 JSON 支持。

在 windows 10 上的 mingw-w64 中设置 JSON 支持的方法是什么?

    标签: json g++ mingw-w64


    【解决方案1】:

    有很多库可以用来处理来自 C/C++ 的 JSON。

    举几个我已经能够用 MinGW-w64 编译的例子:

    利詹松

    描述:Jansson 是一个用于编码、解码和操作的 C 库 JSON 数据。

    http://www.digip.org/jansson/

    libjson-glib

    描述:JSON-GLib 是一个为 RFC 4627 描述的 JavaScript Object Notation (JSON) 格式提供序列化和反序列化支持的库。 网址: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”)是一个简约的 JSON 解析器 在 C 中。它可以很容易地集成到资源有限的项目或嵌入式系统中。

    http://zserge.com/jsmn.html

    小json

    描述:tiny-json 是一个通用且易于使用的 C 语言 json 解析器,适用于嵌入式系统。它快速、坚固且便携。它不仅是一个标记器。您可以获取字符串格式的数据或获取 C 类型的原始值 没有性能损失的变量。

    https://github.com/rafagafe/tiny-json

    ujson4c

    描述:一个更加用户友好的层,用于在 C/C++ 中解码 JSON,基于 超快速的 UltraJSON 库

    https://github.com/esnme/ujson4c/

    cajun-jsonapi

    描述:CAJUN 是一个用于 JSON 数据交换格式的 C++ API,强调直观、简洁的界面。该库提供了在概念和设计上尽可能模仿标准 C++ 的 JSON 类型和操作。

    https://github.com/cajun-jsonapi/cajun-jsonapi

    冷冻

    描述:用于 C/C++ 的 JSON 解析器和生成器,具有类似 scanf/printf 的接口。针对嵌入式系统。 网址: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 编写器,直接包装一个 std::ostream

    https://github.com/giacomodrago/minijson_writer

    pdjson

    描述:一个公共领域的 JSON 解析器,专注于正确性、ANSI C99 合规性、完整的 Unicode (UTF-8) 支持、最小的内存占用和简单的 API。作为流式 API,可以使用少量内存(JSON 中最大字符串的大小)处理任意大的 JSON。似乎大多数 C JSON 库在某些方面很糟糕:损坏的字符串支持(如果字符串包含 \u0000 怎么办?),损坏/缺少 Unicode 支持,或糟糕的软件许可证(GPL 或“do no evil”)。该库旨在避免这些缺陷。

    https://github.com/skeeto/pdjson

    picojson

    描述:C++ 中的仅头文件、JSON 解析器序列化器

    https://github.com/kazuho/picojson

    sajson

    描述:用于 C++11 的轻量级、极高性能 JSON 解析器

    https://github.com/chadaustin/sajson

    smalljsonparser

    描述:这是一个简单的 C 语言单文件 JSON 解析器。它专为高度资源受限的系统而设计。它不使用内存分配,并且可以流式传输数据,因此整个文件不需要驻留在内存中。

    https://github.com/DagAgren/SmallJSONParser

    单值

    描述:C++ 通用值对象和 JSON 库

    https://github.com/jgarzik/univalue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-28
      • 1970-01-01
      • 2022-06-13
      • 1970-01-01
      • 2015-08-21
      • 2019-01-01
      • 2017-02-13
      • 2011-05-20
      相关资源
      最近更新 更多