2017-03-07 51 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"]);