0

我有以下 json 对象,我想阅读它(从中访问一些数据)

请问我怎么能在Javascript中做到这一点?

var allSites = 
  {"oldSites":
        [ 
            {
                "site0" : "http://site0.com/", 
                "site1" : "http://site1.com/",
                "site2" : "http://site2.com/" 
            }
        ],
    "newSites":
        [
            {
                "site0" : "http://site0/new", 
                "site1" : "http://site1/new", 
                "site2" : "http://site2/new"
            }
        ]
  };

这就是我所做的,但我没有定义。

var allSites = eval(allSites);
alert(allSites.oldSites.site0);

谢谢。

4

3 回答 3

3

如果您的对象像您描述的那样定义,它不是 JSON,您不需要使用eval.

然后,由于oldSites是一个数组,你必须索引它,就像oldSites[0]获取第一个值一样。

然后,获取site0检索到的对象的键。

所以你应该使用:allSites.oldSites[0].site0

于 2013-10-06T10:13:18.830 回答
2

采用

allSites.oldSites[0].site0

allSites.oldSites是一个数组。所以你必须使用索引进行迭代

于 2013-10-06T10:11:20.193 回答
1

请删除使 oldSites 成为数组的方括号

var allSites = 
  {"oldSites":

            {
                "site0" : "http://site0.com/", 
                "site1" : "http://site1.com/",
                "site2" : "http://site2.com/" 
            }
        ,
    "newSites":

            {
                "site0" : "http://site0/new", 
                "site1" : "http://site1/new", 
                "site2" : "http://site2/new"
            }

  };
于 2013-10-06T10:15:07.603 回答