【问题标题】:JSON Schema Validation Duplicate Key ElementsJSON 模式验证重复的关键元素
【发布时间】:2016-10-19 00:32:44
【问题描述】:

我的架构;

{
"title": "Reporting Schema",
"type": "object", 
"properties":  {    
   "id" : {"type": "string", "minLength": 1, "maxLength":25 },
   "firstName" : {"type": "string", "minLength": 0, "maxLength":25 },
   "middleName" : {"type": "string", "minLength": 0, "maxLength":25 },
   "lastName" : {"type": "string", "minLength": 0, "maxLength":25 },
   "companyName" : {"type": "string", "minLength": 0, "maxLength":70 },
   "address1" : {"type": "string", "minLength": 0, "maxLength":50 },
   "address2" : {"type": "string", "minLength": 0, "maxLength":50 },
   "city" : {"type": "string", "minLength": 0, "maxLength":20 },
   "state" : {"type": "string", "minLength": 0, "maxLength":2 }
},
"required": [ "id"],
"additionalProperties": false
}

我要测试的数据;您可以看到它有多个 firstName 值。

{
"id" : "SchemaTest",

"firstName" : "D",
"firstName" : "D",
"firstName" : "D",

"middleName" : "M",
"lastName" : "Bro",
"companyName" : "",
"address1" : "Test_Address_One",
"address2" : "Test_Address_Two",
"city" : "City_Name",
"state" : "US"
}

是否可以让我的架构验证数据与架构合同不匹配并让它标记错误验证?

我认为 addtionalProperties 部分中可能有一个选项。

【问题讨论】:

  • 您使用什么语言/脚本进行验证?您是否有尝试过但无法达到预期效果的事情?
  • Java spring 提供一个宁静的网络服务。我一直在使用json-schema-validator.herokuapp.com 并将我的架构和数据粘贴到其中,但由于它在我认为不应该验证的时候进行验证,所以我不确定架构验证是否是前进的方向。

标签: java json spring validation schema


【解决方案1】:

JSON Schema 只能使用有效的 JSON。

这不是有效的 JSON;您不能拥有多个具有相同名称的键(例如 firstName),因此这甚至不会到达 JSON Schema。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多