簡體   English   中英

如何為Name / Value結構創建JSON Schema?

[英]How to create JSON Schema for Name/Value structure?

我的問題是我正在將地圖內容序列化為JSON。

在輸出(JSON)中,我有跟隨鍵/名稱語法規則的對象。

密鑰是從map密鑰創建的,名稱來自值。

模型示例:

  class Storage {
       Map<String,String> values = new HashMap<>();

      {
         map.put("key1","key1");
         map.put("key2","key2");
         map.put("key3","key3");
      }

    }

JSON示例對象:

{
  key1=value1,
  key2=value2,
  key3=value3
}

JSON架構:

{
  "name": "storage",
  "description": "Store of key values",
  "properties": {
    // How can we describe the properties if we do not know the name ?
   }
}

問題是,我不知道它的價值是什么,但我知道它們會是一些。

你能幫我提一下架構的完整定義嗎?


免責聲明:

我知道這也可以序列化為

 {
    values: [
       {key="key1", value="value1"},
       {key="key2", value="value2"},
       {key="key3", value="value3"}
    ]
 }

但是不希望在JSON中有數組。

假設您的驗證器支持它,您可以使用patternProperties

對於架構......

{
  "title": "Map<String,String>",
  "type": "object",
  "patternProperties": {
    ".{1,}": { "type": "string" }
  }
}

......和文件......

{
    "foo":"bar",
    "baz":1
}

...屬性foo的值是有效的,因為它是一個字符串,但是baz驗證失敗,因為它是一個數字。

我使用了@augurar“additionalProperties”建議的解決方案:{“type”:“string”}

對於AWS API Gateway Model ....並且SDK能夠根據Java / Android SDK中的需要生成Map變量

@Arne Burmeister - 在我的情況下 - 解決方案1沒有按需工作 - 盡管它沒有在模型中給出任何錯誤(Schema Created)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM