JSONSchemaのadditionalPropertiesフィールドのさまざまなタイプ

イリヤ・カウストフ

次のようなJSONを検証する必要があります。

{
  "propertyName1" : "value",
  "propertyName2" : ["value1", "value2"],
  "propertyName3" : { "operator1" : "value" },
  "propertyName4" : { "operator2" : ["value1", "value2"] },
  ...
}

したがって、propertyNameは任意のキーであり、演算子が定義されています。

次のようなスキーマを使用する必要があると思います。

{
    "id" : "urn:my_arbitrary_json#",
    "type" : "object",
    "required" : false,
    "additionalProperties" : {
        "id" : "urn:my_arbitrary_key#",
        "type" : "object",
        "required" : true,
        "properties" : {
            "operator1" : { ... },
            "operator2" : { ... }
        }
    }
}

ただし、このスキーマにはpropertyName1propertyName2ケースの定義がありませんさまざまなタイプのを検証するために配列を定義したいのですadditionalPropertiesが、これは仕様によれば正しくありません。そのようなJSONを検証する方法はありますか?

cloudfeet

特定のデータがさまざまな形になる可能性がある場合は、oneOfまたはを使用できますanyOfたとえば、ここでは次のことができます。

{
    "type" : "object",
    "additionalProperties" : {
        "oneOf": [
            {... string ...},
            {... array of strings ...},
            ...
        ]
    }
}

実際、ここでのオプションはすべて異なるタイプであるため、type代わりに複数のエントリを含めることができます

{
    "type" : "object",
    "additionalProperties" : {
        "type": ["string", "array", "object"],
        "items": {"type": "string", ...}, // constraints if it's an array
        "properties": {...} // properties if it's an object
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

さまざまなScalaタイプのフィルター

分類Dev

さまざまなタイプのC#NEST条件付きフィルター

分類Dev

C#{取得; set;}さまざまなタイプのフィールドの場合、stackoverflow例外

分類Dev

さまざまなタイプのリンクフィールドを使用したms-accessクエリ

分類Dev

さまざまなファイルタイプでのCarrierwaveファイルのアップロード

分類Dev

データ変換ヘルプ-さまざまなドキュメント-個別のフィールド

分類Dev

mongodbにデータをインポートした後、および作成した後のさまざまなタイプの行のフィールド_id

分類Dev

UMLでさまざまなタイプのフィールドとエンティティの接続をモデル化する方法

分類Dev

起動パーティション用のさまざまなタイプのファイルシステム

分類Dev

さまざまなタイムステップのカルマンフィルター

分類Dev

さまざまな時間形式のGrailsフィールドパターン

分類Dev

Goで構造体のフィールドとさまざまなタイプの値をファイルに書き込む

分類Dev

ターミナルコマンド(ubuntu)とフォルダープロパティを使用したさまざまなサイズのフォルダー

分類Dev

ターミナルコマンド(ubuntu)とフォルダープロパティを使用したさまざまなサイズのフォルダー

分類Dev

Python、ターミナルコマンド(ubuntu)、フォルダープロパティを使用したさまざまなサイズのフォルダー

分類Dev

さまざまなタイプのC ++ forループの比較

分類Dev

さまざまなファイルタイプの解析

分類Dev

AndroidStudioでさまざまなビルドタイプのリソースファイルを作成する

分類Dev

Springのインスタンスタイプに基づいてさまざまなフィールドを検索するための仕様/述語

分類Dev

フィールドのさまざまな可能性

分類Dev

Elastic Search のさまざまなタイプのシャード

分類Dev

SFTP - mget を使用してさまざまなタイプのファイルをダウンロードする

分類Dev

PHPを使用して、さまざまなタイプの膨大な数のフィールドを準備する方法

分類Dev

さまざまなビルドタイプのFirebase分析

分類Dev

さまざまなタイプで定義されたビットフィールドを含む構造体のサイズ

分類Dev

さまざまなMySQLテーブルのさまざまなフィールドからの合計

分類Dev

Djangoの1つのフィールドからさまざまなモデルタイプを参照するにはどうすればよいですか?

分類Dev

さまざまな変数タイプでのForEachループ

分類Dev

ユーザー追加時のさまざまなユーザーロールのさまざまなユーザーカスタムフィールド

Related 関連記事

  1. 1

    さまざまなScalaタイプのフィルター

  2. 2

    さまざまなタイプのC#NEST条件付きフィルター

  3. 3

    C#{取得; set;}さまざまなタイプのフィールドの場合、stackoverflow例外

  4. 4

    さまざまなタイプのリンクフィールドを使用したms-accessクエリ

  5. 5

    さまざまなファイルタイプでのCarrierwaveファイルのアップロード

  6. 6

    データ変換ヘルプ-さまざまなドキュメント-個別のフィールド

  7. 7

    mongodbにデータをインポートした後、および作成した後のさまざまなタイプの行のフィールド_id

  8. 8

    UMLでさまざまなタイプのフィールドとエンティティの接続をモデル化する方法

  9. 9

    起動パーティション用のさまざまなタイプのファイルシステム

  10. 10

    さまざまなタイムステップのカルマンフィルター

  11. 11

    さまざまな時間形式のGrailsフィールドパターン

  12. 12

    Goで構造体のフィールドとさまざまなタイプの値をファイルに書き込む

  13. 13

    ターミナルコマンド(ubuntu)とフォルダープロパティを使用したさまざまなサイズのフォルダー

  14. 14

    ターミナルコマンド(ubuntu)とフォルダープロパティを使用したさまざまなサイズのフォルダー

  15. 15

    Python、ターミナルコマンド(ubuntu)、フォルダープロパティを使用したさまざまなサイズのフォルダー

  16. 16

    さまざまなタイプのC ++ forループの比較

  17. 17

    さまざまなファイルタイプの解析

  18. 18

    AndroidStudioでさまざまなビルドタイプのリソースファイルを作成する

  19. 19

    Springのインスタンスタイプに基づいてさまざまなフィールドを検索するための仕様/述語

  20. 20

    フィールドのさまざまな可能性

  21. 21

    Elastic Search のさまざまなタイプのシャード

  22. 22

    SFTP - mget を使用してさまざまなタイプのファイルをダウンロードする

  23. 23

    PHPを使用して、さまざまなタイプの膨大な数のフィールドを準備する方法

  24. 24

    さまざまなビルドタイプのFirebase分析

  25. 25

    さまざまなタイプで定義されたビットフィールドを含む構造体のサイズ

  26. 26

    さまざまなMySQLテーブルのさまざまなフィールドからの合計

  27. 27

    Djangoの1つのフィールドからさまざまなモデルタイプを参照するにはどうすればよいですか?

  28. 28

    さまざまな変数タイプでのForEachループ

  29. 29

    ユーザー追加時のさまざまなユーザーロールのさまざまなユーザーカスタムフィールド

ホットタグ

アーカイブ