1

我无法从下面的 JSON 字符串中成功获取数据。使用 JavaScript,我可以提醒完整的字符串 [ alert(data); ] 但我无法只得到名字。

有人可以帮忙吗?

var data = {
    "name": [
        "Enid Norgard",
        "Cassie Durrett",
        "Josephine Ervin"
    ],
    "email": [
        "TheWoozyGamer@gmail.com",
        "TheHabitualGamer@gmail.com",
        "TheUptightGamer@gmail.com"
    ],
    "role": [
        "Gamer",
        "Team Leader",
        "Player"
    ],
    "emp_id": [
        "50",
        "408",
        "520"
    ],
    "id": [
        "234",
        "444",
        "235"
    ]
}
4

5 回答 5

6

看起来你有一个字符串(因为当你使用 alert 时会显示完整的文本,如果它是一个对象[Object object]则会显示),首先你需要使用JSON.parse()解析它

var t = JSON.parse(data)
alert(t.name[0])

注意:像 IE8 这样的旧浏览器不支持 JSON,你必须添加一个像json2这样的库来添加 JSON 支持

于 2013-08-22T09:26:21.200 回答
1

使用以下代码

alert(data.name[0]);
于 2013-08-22T09:26:25.967 回答
1
    //sample code
    var json = '{"result":true,"count":1}',
    obj = JSON.parse(json);
    alert(obj.count);

对于不支持的浏览器,您可以使用 json2.js 实现它。大多数浏览器都支持 JSON.parse(),希望对您有所帮助,详情请参阅链接

于 2013-08-22T09:28:58.773 回答
0

使用 data.name[0] 您将获得名称 Enid Norgard 与该用途类似

data.name[index] 

而 index 是名称在内部数组中的位置。

如果您只想要名称数组,请使用:

alert(data.name)
于 2013-08-22T09:29:28.927 回答
0

试试这个循环遍历所有元素

for(x in data)
{
    for(y in data[x])
    {
        alert(data[x][y]);
    }
}
于 2013-08-22T09:42:06.573 回答