鉴于JSON是这样的:获取对象
{ "rss": {
"page": 1,
"results": [{
"type": "text",
"$": 10
}],
"text": [{
"content": "Lorem ipsum dolor sit amet.",
"author": {
"name": "Cesar",
"email": "[email protected]"
},
},
{
"content": "Tema Tis rolod muspi merol.",
"author": {
"name": "Cleopatre",
"email": "[email protected]"
},
}]
}
在JavaScript中,我可以这样检索值:
var json = JSON.parse(datajson);
$.each(json.text, function(key, val) {
// this one is ok
var content = val['content'];
// this one does not work
var authorname = val['author.name'];
});
这是一种方式,给定一个字符串属性名称格式来检索复杂对象的值,例如json.text[0].author.name
?
编辑 我想需要的属性存储在另一个对象,如:
[
{ dt: "Text content", dd: "content" },
{ dt: "Author name", dd: "author.name"}
]
试试'VAL [“作者”] [“名称”]' – 2012-07-23 14:50:36
好,这可能会奏效,但在这种情况下,我需要存储两个字符串:“作家”,那么“名”,当我想存储只有一个代表authorname,如xpath或css路径... – enguerran 2012-07-23 14:52:11
快速和脏var name = eval('return val。'+ key +';'); – yent 2012-07-23 14:52:49