2017-02-14 102 views
0

主要問題在於驗證json是否針對處理數組的模式。那麼,如果我把不同的價值看起來仍然有效?如何驗證JSON模式驗證中的枚舉值?

JSON模式:

{ 
    "transactions" : { 
      "type" : "array", 
      "items" : 
      { 
      "type" : "object", 
      "properties" : { 
       "type" : { 
       "type" : "string", 
       "enum" : ["BREAK"] 
       }, 
       "required":["type"] 
      }, 
      "required":["items"] 
} 
} 
} 

輸入JSON:

{ 
    "transactions":[ 
    {"type":"BREAKDDDDDddddddddddddddddddddddddddddddddddJDJDJDJDJDJDJDJ"} 
    ] 
} 

結果:沒有發現錯誤。 JSON根據模式進行驗證。

這是錯誤的,因爲我們還沒有定義枚舉類型,如「BREAKDDDDD」

http://www.jsonschemavalidator.net/

對這個有什麼想法?

乾杯傢伙

回答

0

你的JSON架構缺少某些屬性。看看這裏提供的關於如何啓動架構http://json-schema.org/example1.html的例子。

更新架構的下方,並嘗試

{ "type": "object", "properties": { "transactions": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "enum": ["BREAK"] } }, "required": ["type"] } } } }