javascript - 鉴于它是动态生成的,我如何在 Javascript/jQuery 中访问此 JSON 数据?

标签 javascript arrays json

我有一个由 PHP 发送到 Javascript 的动态生成的数组。它基本上是一组未读消息。它包含发件人的姓名和他们发送的消息。

鉴于我不知道这些人的名字,我该如何检索他们的名字和消息?

{"Emma Giles":
[{"message":"Hi Phil","date":"Tue 10 May 2:55 PM 2011"}],
"Johnathan Macmanners":
[{"message":"Hi Emma","date":"Sun 26 June 10:03 PM 2011"}],
"Ellen Murley":
[{"message":"Hello","date":"Fri 04 May 4:05 PM 2012"},
{"message":"How are you?","date":"Fri 04 May 2:52 PM 2012"}],
"Amanda Patterson":
[{"message":"test","date":"Fri 27 April 10:07 AM 2012"}],
"ALEX Pell":
[{"message":"Hi Alvon","date":"Mon 05 March 10:07 AM 2012"}]}

我已经试过了,但由于某种原因它只打印出数字,我用 val 替换了 key 并且它一个一个地打印出数组中的每个字符。:

$.each(data, function(key, val)
{
    console.log(key);
});

最佳答案

稍微清理一下你的 JSON,你有一个由指向消息对象数组的用户名组成的散列:

var data = {
  "Emma Giles": [
    {"message":"Hi Phil","date":"Tue 10 May 2:55 PM 2011"}
  ],
  "Johnathan Macmanners": [
    {"message":"Hi Emma","date":"Sun 26 June 10:03 PM 2011"}
  ]
};

就得到你想要的东西而言,你几乎就在那里:

$.each(data, function(name, messages) {
   var messageText = messages[0].message;

   alert(name + ': ' + messageText);
});

仅供引用,有一个 fiddle here

关于javascript - 鉴于它是动态生成的,我如何在 Javascript/jQuery 中访问此 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521018/

相关文章:

JavaScript 语法错误

python - python的re.sub是否以数组作为入参?

javascript - http ://and//之间的区别

javascript - 如何使用javascript使图像在悬停时移动?

php array_search 0 索引

javascript - 如何返回 JSON 对象属性

javascript - Node.js 上的 WebSocket 并在所有连接的客户端之间共享消息

c# - MVC 3 JsonResult 没有 d 属性

javascript - 开发者工具查看一个脚本下载两次是否正常

arrays - 将数组中的标记添加到 Leaflet 中