指定されていないプロパティ

www.altova.com すべてを展開/折りたたむ このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > JSON と JSON スキーマ > JSON スキーマビュー >

指定されていないプロパティ

下のコードのリストでは、 required キーワードは、4つのプロパティがこのオブジェクトのために必要なことを指定しています。 しかしながら、4つの プロパティの3つは定義されています。4番目のプロパティ city は定義されていません。定義されている プロパティ は指定されなければならず、定義されていないプロパティは、指定されていません。 リストの下のスクリーンショットを参照してください。

 

 

Click to expand/collapseコードのリスト: 指定されているおよび指定されていないプロパティ

{

    "$schema": "http://json-schema.org/draft-04/schema#",

    "description": "JSON Schema generated by XMLSpy v2016 (http://www.altova.com)",

    "type": "object",

    "properties": {

        "emailtype": {

            "type": "string"

        },

        "emailaddress": {

            "type": "string",

            "format": "email"

        },

        "citycode": {

            "type": "number"

        }

    },

    "required": [

        "emailtype",

        "emailaddress",

        "citycode",

        "city"

    ],

    "additionalproperties": false

}

 

JSONSpecified     JSONUnspecified

デザインビュー内では、スキーまで必要とされているにもかかわらず定義されていないため、指定されていない プロパティは赤でフラグ付けされています。 JSON スキーマ自身は、有効ですが、検証に使用されるインスタントドキュメントが有効ではありません。これには以下の理由があります: (i) city プロパティが存在しない場合、 city プロパティが必要なため、ドキュメントは無効になります。 city プロパティが存在する場合、 city プロパティが定義されておらず、このプロパティのためのプロパティワイルドカードが許可されていないため、ドキュメントは無効になります (下の 暗黙的にプロパティを指定する を参照)。

 

指定されていない プロパティのための定義を作成するには、 以下を行います:

 

1.デザインビュー内の指定されていない プロパティを選択します。
2.詳細入力ヘルパー内の指定されたチェックボックスをチェックします (上のスクリーンショット参照)。または、指定されているフラグをコンテキストメニューを使用して削除します。
3.必要に応じてプロパティの定義を変更します。

 

暗黙的にプロパティを指定する

プロパティは、適切なパターンプロパティまたはプロパティワイルドカードを追加することにより暗黙的に指定することができます。 下のスクリーンショットは、追加されたプロパティワイルドカードを表示しています。 city と名前の付けられたインスタンスプロパティは、このワイルドカードに一致します。 スキーマ内では、ですから、 city プロパティは、ワイルドカードにより暗黙的に指定されたということができます。 city プロパティを含むインスタンスファイルはこのスキーマに対して有効になります。

JSONImplicitlySpecified

暗黙的に指定されているプロパティ内とプロパティワイルドカード内のそれぞれのアイコンに注意してください。各アイコンは他のプロパティへのリンクです。アイコンをダブルクリックするとの他のプロパティを選択します。

 


(C) 2018 Altova GmbH