javascript - 用纯 Javascript 读取复杂的 JSON

标签 javascript json

我有以下 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);

谢谢。

最佳答案

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

然后,由于 oldSites 是一个数组,因此您必须对其进行索引,例如 oldSites[0] 才能获取第一个值。

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

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

关于javascript - 用纯 Javascript 读取复杂的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207656/

相关文章:

javascript - radio 数组 - jquery

javascript - 是否可以将 javascript 插入到 Google Chrome 的 "Inspect Element"中?

javascript - 无法访问关闭的 jQuery 对象的方法

php - 为什么 ruby​​ 的 to_json 会破坏嵌入式 javascript?

java - 为什么不将 com.fasterxml.jackson.databind.ObjectMapper 中的某些方法设为静态?

java - 使用 Jackson 将 map 序列化为 json 而不在输出中显示 map 名称

javascript - 如何使用 Object.keys 和过滤来转换此对象

javascript - 导出的常量在样式表中不起作用

json - 如何很好地删除jq中的空数组

java - 有效的 Json 抛出 "Expected BEGIN_OBJECT but was STRING at line 1 column 4"