4

我正在尝试使用(https://github.com/fge/json-schema-validator)模式验证器验证我的 JSON。

  1. 您建议使用杰克逊模式生成来生成 JSON 模式还是有更好的方法?

  2. 我有一个名为(Location)的对象,其中包含对象列表(BaseObject)。我为这样的位置创建了一个架构,其中包含 BaseObject 的 $ref。但验证失败并显示错误消息 - ["": domain: validation; 关键字:属性;消息:未找到所需的属性;缺失:["id","re​​fName"]; 必需:["id","re​​fName"]]

我使用 refs 的方式有错误吗?

Location.json - 架构

{
   "type":"object",
   "properties":{
      "locationType":{
         "type":"string"
      },
      "mapsRefs":{
          "$ref": "file://localhost/c:/baseobject.json" 
         }
      }
   }
}

baseobject.json - 架构

{
   "type":"object",
   "properties":{
      "refName":{
         "type":"string",
          "required":true
      },
      "id":{
         "type":"integer",
          "required":true
      },
      "refs":{
         "type":"array",
          "required":false,
         "items":{
            "type":"string"
         }
      }
   }

}
4

1 回答 1

1

要回答您的第一个问题,根据我的经验,Jackson 是在 java 上处理 JSON 的最易于使用和记录的 API。

对于第二个问题,您根据需要定义“id”和“refName”,您要么使用错误的架构进行验证,要么没有传递所需的属性。

这看起来很像 github 上的这个已关闭问题: https ://github.com/fge/json-schema-validator/issues/22

于 2013-06-24T16:38:05.787 回答