如何检查字符串是否是有效的 Json 架构?
How to check if a string is a valid Json Schema?
如果我有一个字符串 =“{}”,它不是有效的 Json 架构,我如何使用 jackson 检查它是否是有效的 Json 架构?
因为 JSON 模式本身就是一个 JSON 文档,您可以使用... JSON 模式来验证它。
有 JSON 可用的元模式可用于根据 JSON Schema 网站验证您的模式,因此要检查您的模式是否有效,只需根据正确的元模式。
可以找到元模式 here, and a list of libraries to perform the actual validation can be found here。
2019-09 草案定义了一些新的关键字,允许您声明字符串的内容为 JSON 并符合给定的模式。但是,这些关键字仅供参考。不强制执行任何断言。您必须从架构中提取该信息并单独进行验证。
看起来像这样。
{
"type": "string",
"contentMediaType": "application/schema+json",
"contentSchema": { "$ref": "https://json-schema.org/draft/2019-09" }
}
另外请记住,2019-09 草案目前没有很多实现,因此您可能很难找到理解新关键字的工具。我们最近在这方面看到了相当大的进展,所以希望这种情况不会持续太久。
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-02#section-8
如果我有一个字符串 =“{}”,它不是有效的 Json 架构,我如何使用 jackson 检查它是否是有效的 Json 架构?
因为 JSON 模式本身就是一个 JSON 文档,您可以使用... JSON 模式来验证它。
有 JSON 可用的元模式可用于根据 JSON Schema 网站验证您的模式,因此要检查您的模式是否有效,只需根据正确的元模式。
可以找到元模式 here, and a list of libraries to perform the actual validation can be found here。
2019-09 草案定义了一些新的关键字,允许您声明字符串的内容为 JSON 并符合给定的模式。但是,这些关键字仅供参考。不强制执行任何断言。您必须从架构中提取该信息并单独进行验证。
看起来像这样。
{
"type": "string",
"contentMediaType": "application/schema+json",
"contentSchema": { "$ref": "https://json-schema.org/draft/2019-09" }
}
另外请记住,2019-09 草案目前没有很多实现,因此您可能很难找到理解新关键字的工具。我们最近在这方面看到了相当大的进展,所以希望这种情况不会持续太久。
https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-02#section-8