Qt 对 XML 的支持非常强大,甚至包括对 XML 模式验证的支持。
Qt 对 JSON 的支持似乎不太广泛。我找不到任何东西似乎可以确认或拒绝 Qt 中对 json-schema 或任何其他类型的 Json 模式验证 的支持。
有没有一种好的方法可以在 Qt / C++ 中验证 json?编辑:要明确的是,这个问题集中在
Json 模式验证,而不仅仅是确认任意文档是否是有效的 Json。
JSON Schema 网站上列出了 4 个 C/C++ 库:
@Boris 提到的
您作为开发人员会提供架构,则不要使用 JSON 架构验证进行验证,而是对解析的 JSON 执行硬编码验证(即,手动检查所需字段是否存在、是否存在)类型正确,并且在指定范围内)
WJElement (链接在json-schema 网站)
http://qjson.sourceforge.net/ 也不包含模式验证。
qtplayground中也存在Qtjsonstream,其中包括一些模式验证,但我还没有使用它,所以我不知道其他任何事情。
https://github.com/Clemens-U/jsonbuddy,提供易于使用的 JSON 模式验证接口(我是开发人员)。此实施也符合 2020-12 草案。