我的JSON文件如下:
{
"root": {
"Quizsize": null,
"{urn:abc.com/xmlns/mona/page}page": [
{
"@xid": "page1623",
"@title": "Quiz Landing Page",
"{urn:abc.com/xmlns/mona/page}comment": null,
"{urn:abc.com/xmlns/mona/page}skills": null,
"{urn:abc.com/xmlns/mona/page}info": {
"{urn:abc.com/xmlns/mona/common}property": {
"@name": "quiz_landing",
"@value": "true"
}
}
}
]
}
}
}
我使用以下方法加载此JSON文件:
var jsondata = eval("("+chapterRequest.responseText+")") ;
Root = jsondata.root
现在我想访问@xid是“page1623和@name是”quiz_landing“。我不知道该怎么做,请帮助。
由于
答案 0 :(得分:4)
JSON.parse(x)优于eval(x)。但是,某些浏览器本身不支持它。如果你想访问@xid,“urn:abc.com/xmlns/mona/page} page”指向一个第一个元素是对象的数组。
所以使用 Root [“{urn:abc.com/xmlns/mona/page} page”] [0] [“@ xid”] 。或者混合括号和点符号。你的选择,真的。
答案 1 :(得分:1)
如果密钥不是有效标识符,则使用object['key']
代替object.key
,因此jsondata.root['{urn:abc.com/xmlns/mona/page}page'][0]['@xid']
。