2014-09-03 84 views
0

我有一個Json可能來自其他應用程序,我需要檢查它是否是特定的格式。我有JSON模板如下,驗證JSON爲特定格式

{ 
    "Types": { 
     "Type1": { 
      "attribute1": "value1", 
      "attribute2": "value2", 
      "attribute3": "value3", 
      "recordList": { 
       "record1": [ 
        { 
         "field": "value" 
        }, 
        { 
         "field": { 
          "subrecord1": [ 
           { 
            "subfield1": "subvalue1", 
            "subfield2": "subvalue2" 
           } 
          ] 
         } 
        } 
       ] 
      }, 
      "date": "2010-08-21 03:05:03" 
     } 
    } 
} 

有什麼辦法來驗證基於特定模板或格式的JSON。

回答

1

您可以使用JSON Schema。 JSON Schema允許您描述您期望接收的對象圖的格式,然後使用它執行它的軟件可以驗證您對模式所收到的內容。有一個名爲json-schema-validator的OSS Java實現。

+0

我只需要檢查傳入的JSON是特定的格式而不是其中的鍵和值。 – tjkmr 2014-09-03 06:39:34

+0

@tjkmr:JSON Schema不檢查值(除了它們與預期類型匹配外)。它會檢查您收到的JSON格式是否符合您的期望。因此,例如,如果您希望有一個具有兩個必需屬性('name'和'description')的對象,但是您收到的只有'name'屬性的對象,則該對象不符合您的模式。如果您的目標只是測試JSON是否有效(但可以描述任何內容),那麼當您嘗試解析它時,任何體面的JSON庫都會告訴您。 – 2014-09-03 06:40:52