-2
は私がJavaスクリプトオブジェクトを持っていると私は動的にそれから特定の値にアクセスし、何かにそれを変更しようとしている値ダイナミック深いアクセスが
マイオブジェクト:たとえば場合について
myJson = {
"id" : "http://**********",
"$schema": "http://json-schema.org/draft-04/schema",
"type" : "object",
"properties":{
"AddressLine1" :{"type":"string" , "maxLength":62},
"AddressLine2" :{"type":"string" , "maxLength":62},
"city" :{"type":"string" , "maxLength":62},
"state" :{"type":"string" , "maxLength":5}
},
"required": ["AddressLine1", "city"]
}
私は、だから私は、私はに基づいて値にアクセスする必要があります変数「パス」に基づいて
path = "$.properties.state.maxLength";
動的に与えられた「パス」に基づいて、状態オブジェクトでのmaxLengthにアクセスする必要がありますパスを編集して編集します。
全コード:
var sample = function(){
var myJson = {
"id" : "http://application.nw.com/address",
"$schema": "http://json-schema.org/draft-04/schema",
"type" : "object",
"properties":{
"AddressLine1" :{"type":"string" , "maxLength":62},
"AddressLine2" :{"type":"string" , "maxLength":62},
"city" :{"type":"string" , "maxLength":62},
"state" :{"type":"string" , "maxLength":5}
},
"required": ["AddressLine1", "city"]
}
// I get the path from an external source.
path = "$.properties.state.maxLength";
path = path.substring('$.'.length);
console.log(path); // log = properties.state.maxLength
console.log(myJson.properties.state.maxLength); // log 5
console.log(myJson.path); // log undefined
}
私は初心者のPLSのヘルプと私は本当に愚かな何かをした場合、奨励してみてください。間違い
これはJSONではなく、JavaScriptオブジェクトです。 – Biffen
あなたは 'path = myJson.properties.state.maxLength;'を試してみましたか? –
@FelippeDuarteには正しい答えがあります。 'properties'はそれ自身では存在しないので、最初に適切なオブジェクトを指す必要があります – colecmc