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/