如何通过javascript访问JSON元素?

时间:2011-06-28 17:49:32

标签: javascript json

我的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“。我不知道该怎么做,请帮助。

由于

2 个答案:

答案 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']