【发布时间】:2018-09-20 20:18:41
【问题描述】:
我正在为一组数据寻找 java 代码中的 JSON Schema 验证。
我的 JSON 架构是
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"acc": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"AccId": {
"type": "integer"
},
"accName": {
"type": "string"
},
"accSysName": {
"type": "string"
},
"accLName": {
"type": "string"
}
},
"required": [
"AccId",
"accName",
"accSysName",
"accLName"
]
}
]
}
},
"required": [
"acc"
]
}
虽然我对 1 条记录的 JSON 响应是
{
"acc": [
{
"AccId": 123,
"accName": "test",
"accSysName": "ABC",
"accLName": "test"
}
]
}
我来自http://wilddiary.com/validate-json-against-schema-in-java/ 的代码在上述情况下工作正常,但在以下情况下,它不用于检查第二条记录,即 JSON 响应有多个对象时。
多条记录的 JSON 响应:
{
"acc": [
{
"AccId": 123,
"accName": "test",
"accSysName": "Abc",
"accLName": "test"
},
{
"pqr": 456,
"qwe": "test2",
"accSysName": "ghu",
"accLName": "test3"
}
]
}
我也尝试了 additionalProperties / additionalItems: false ,但它对它们中的任何一个都不起作用,我也在 Stack Overflow 中检查了一些旧帖子,但没有得到想要的结果。
还有其他方法可以实现吗?
【问题讨论】:
-
尝试将代码缩进 4 个空格以提高可读性。
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
标签: java json schema jsonschema json-schema-validator