json - Qt/C++/C 中对 json 模式有什么支持

标签 json qt schema

Qt support for XML非常强大,包括对 XML 模式验证的支持。

Qt Support for JSON似乎不太广泛。我找不到任何东西似乎可以证实或否认对json-schema的支持或 Qt 中任何其他类型的 Json 模式验证

有没有一种好的方法可以在 Qt/C++ 中验证 json?

编辑:要明确的是,这个问题集中在Json模式验证上,而不仅仅是确认任意文档是否是有效的Json。

最佳答案

Qt 5.8 似乎仍然没有 JSON Schema 验证...但是您可以找到许多其他有趣的库。

JSON Schema 网站上列出了 4 个 C/C++ 库:

  • wjelement @Boris 提到的针对性能进行了优化,并由 Messaging Architects 在电子邮件生产环境中使用。它是一个 C 库,但也提供 C++ 包装器 ( wjelement-cpp )。
  • valijson是一个仅 header 的模式验证器,可以与其他 JSON 解析器一起使用。
  • json-schema-validator基于nlohmann's modern c++ JSON parser它具有与 STL 容器良好交互的良好功能。但这个验证器似乎不太成熟。

其他 JSON Schema Validator 项目可以在 github 或 bitbucket 上找到,其中:

  • jv_json致力于嵌入式应用。
  • libvariant它还可以处理 YAML 和 PLIST 格式。

关于json - Qt/C++/C 中对 json 模式有什么支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18624701/

相关文章:

javascript - 使用javascript重定向而不加载母版页

c# - 将空 String 反序列化为 List<string>

php - 如何在php中转换mongo db查询

java - 如何根据Java中的模式定义获取xml节点类型?

database - Oracle 中的修改列 - 如何在设置为可为空之前检查列是否可为空?

php - 如何创建 JSON (jQuery),发布整个数组

python - Qt 启动画面未在 python 中显示

QT新手: Add action handler for multiple objects of same type

c++ - 有没有办法在 QScriptEngine#pushContext/popContext 之外维护 Qt 脚本上下文环境?

c# - 如何验证 XmlSerializer 的输出?