我有一个JSON对象,如下所示:
$leo = {"Leonardo DiCaprio":{"ht":"70","wt":"222","eyes":"blue","movie":"titanic"}
但我很难访问数据。我试过了:
var json = JSON.parse($leo);
alert(json.'Leonardo DiCaprio'['movie']);
和
var json = JSON.parse($leo);
alert(json.['Leonardo DiCaprio']['movie']);
和
var json = JSON.parse($leo);
var name = 'Leonardo DiCaprio';
alert(json.name['movie']);
没有人对我有用。但是当我删除空间并发出警报时(json.LeonardoDiCaprio [' movie'];我得到了电影。
有没有办法检索数据并保留空间?
答案 0 :(得分:3)
foo.bar
和foo['bar']
语法是互斥的,但在大多数情况下表现相同。 foo.['bar']
无效。
使用点表示法按名称访问属性:
MemberExpression . IdentifierName CallExpression . IdentifierName
或括号表示法:
MemberExpression [ Expression ] CallExpression [ Expression ]
点符号中使用的IdentifierName
不得包含空格(section 11.6),因此在这种情况下必须使用括号表示法。
Unicode字符合法的确切规则在Unicode TR#31中定义,并在section 2中指定。
你需要做的就是json['Leonardo DiCaprio']
,你将获取内部对象。
答案 1 :(得分:1)
你错过了结局"}"在JSON字符串$ leo。
中-Amit