2012-01-20 48 views
1

所以我有一个基本组织这样一个JSON对象(语法可能是错的,但我认为它横跨得到的总体思路):访问成员

var result = {{Name: 'name1', Type: 'type1', UserInfo: [{date:'123', location: 'earth'}]}, 
     {Name: 'name2', Type: 'type2', UserInfo: [{date:'456', location: 'mars'}]}}; 

我想访问jQuery模板中的UserInfo数组内部的成员,但是我尝试的所有内容都会导致我尝试访问的成员找不到或未定义的错误。

例如:

${UserInfo.date} 

${$UserInfo.date} 

${$item.UserInfo.date} 

谁能告诉我如何访问这些阵列成员?

回答

0

所以你不需要jQuery来处理JSON。 JSON与JavaScript(JavaScript Object Notation)相关联。

要访问JSON对象,试试这个:

var innerArray = result[0].UserInfo; 

这将让来自第一个目标的结果用户信息阵列

+0

是的,如果我只是想访问数据,我不需要jQuery,但我想要结果数组绑定到jQuery模板进行显示。这是我遇到的问题。我想有一个更清晰的描述是必要的。 Template: $ {Name} < - This works $ {UserInfo} < - returns [object Object] $ {UserInfo.location} < - throws error。 我需要访问该位置。 – user1161505

0

正确的语法应为:

var result = [ 
    {"Name": "name1", "Type": "type1", "UserInfo": {"date":"123", "location": "earth"}}, 
    {"Name": "name2", "Type": "type2", "UserInfo": {"date":"456", "location": "mars"}} 
]; 

你可以这样访问它:

alert(result[1].UserInfo.date); //"456" 

这也适用:

alert(result[1]['UserInfo']['date']); //"456" 

看到它的工作here

+0

再次,我尝试访问数组成员的上下文是一个jQuery模板,而不是纯javascript。 – user1161505

+0

jQuery和它有什么关系? – cambraca

+0

你说'$ {UserInfo}'返回一个对象,试试'$ {UserInfo} .location' – cambraca