2016-09-02 5 views
0

は、私は、次の型指定されたJSONオブジェクトを持って考えてみましょう:JSONの属性/プロパティ/メンバーのオブジェクト階層的な「パス」とは何を呼びますか、その標準化された名前は何ですか?

Parent: { 
    "field1" : "Value of field1" 
    "fieldC" : {Child} 
} 

Child: { 
    "field2" : "Value of field2" 
} 

Q:私はfield1field2何と呼びますか?
ちょうどStrings
Q:「パス」とは何ですか?fieldC.field2
アクセッサパス?
フィールドパス?
メンバーhierarcyのパス?

+1

あなたはプロパティについて質問していますか? –

+0

おそらく、 "property"と "object-hierarchical property path"が私が探している回答です。しかし、json.orgは「プロパティ」について言及していませんが、JSONは「JSのサブセットに基づいている」ので意味があります。彼らは私が(名前と値のペアの) '名前'として参照している 'フィールド'を呼び出します。 – straville

答えて

1

field1およびfield2は単なる文字列です。

[anything, ..., ... ]は単なる配列なので、オブジェクトの要素です。/falsenulltrueは、数値、ブール値とNULLVALUEとして

{Child}がオブジェクトである、(小数、正、負またはe付きで)9 -

とは、あなたは0を持っています。私はそれがパスと呼ばれるとは思わない(私はそれが意見に基づくと言っているだろう)。おそらくfield-pathですが、それはむしろ子オブジェクトです。キーBOOL/nullを/ numericまたはdecimal /文字列であり、値がオブジェクト/配列/文字列である

あらゆる可能性例:もちろん

{ 
    "string": "string-value", 
    "nulltype": null, 
    "child_object": { 
     "boolean": true, 
     "any_decimal_int": -1.5e3 
    }, 
    "array_values":[ 
     { 
      "any_value": true 
     }, 
     { 
      "any_value": false 
     } 
    ] 
} 

あなたはより多くの組み合わせや無制限のチャイルドを持つことができますオブジェクトとリスト:)

+0

ありがとう! value/name:value/string:JSONの値の性質。私はちょうど仕様に従って、 "キー"(そしてオブジェクトが子オブジェクトを持っている場合にはそれらの階層パス)を呼び出す正しい方法を探しています。あなたは厳しいポイントを持っている、仕様によると、 "パス"はおそらく名前がありません。しかし、私はfieldC.field2のような "オープンな" "プロパティパス"を書く練習の名前を持っていたいと思います。他の何かが正しいと証明されない場合は、「プロパティパス」を使用する:] – straville

1

jsonapi.org私ははるかにわかりやすい単に「文字列」より見つけるメンバー名、としてfield1fieldC、およびfield2を指すようです。最初の答えに私のコメントで述べたように

、私はオブジェクト階層プロパティ「オープン書き込み」を参照しながら、私は個人的に(階層)プロパティパスまたは単に(オブジェクト)メンバー階層を使用してますね/属性/メンバ 'path'(fieldC.field2など)。それを解釈する余地がたくさんあるようだ。 :]

関連する問題