2017-03-07 49 views
1

說我必須var input = {'name':'john'}訪問使用括號標記

input['name'] = 'James'

之成爲var input = {'name':'john'},但我可以通過使用點值來訪問嵌套屬性嵌套的財產?

var input = {"name":"john","grades":"{english:"A","math":"C"}"}

我不能改變做input["grades.math"]數學值。

+2

'輸入[ 「等級」] [ 「數學」]' – cartant

+0

號你可以輸入'[「等級] [「數學」]「'你可以有特殊字符的屬性,不能用點符號定義。所以你將不得不使用支架符號 – Rajesh

+0

可能重複:http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json – Rajesh

回答

2

您可以通過以下方式訪問該值:

var input = {"name":"john","grades":{"english":"A","math":"C"}} 
 

 
console.log(input["grades"]["math"]); 
 
console.log(input.grades.math); 
 
console.log(input["grades"].math); 
 
console.log(input.grades["math"]);