Multidim json array javascript,如何抓取值
Multidim json array javascript, how to grab values
我有来自 AJAX 调用的数据响应:
{"18:00":{"twopersons":1,"fourpersons":0}}
它通过statsarray = data;
存储到变量中
现在如何遍历统计数组并输出twopersons
值?
所以我可以提醒:
18:00 - There's 2 x 2persons and 0 x 4persons
这是 Ajax 调用:
var statsarray;
var currentloopeddate = test_date.toString('yyyy-MM-dd')
$.post("/home/sessions",
{ action: 'partner_calendar_checkseats', date: currentloopeddate },
function(data) { statsarray = data; }
);
只需执行以下操作:
var twopersons = data["18:00"].twopersons;
var fourpersons = data["18:00"]["fourpersons"];
(两种变体都是可能的)
变体是:
var shorter = data["18:00"];
var twopersons = data.twopersons;
// ...
像这样:
var tst = {"18:00":{"twopersons":1,"fourpersons":0}};
for(k in tst) {
for(var z in tst[k]) {
console.log(k + ": Theres "+tst[k][z] + " X " + z);
}
}
你可以尝试这样的事情:
(更新:更好的例子)
var statsarray = {"18:00":{"twopersons":1,"fourpersons":0}};
var hour, persons, line, array;
for (hour in statsarray) {
if (statsarray.hasOwnProperty(hour)) {
array = [];
for (persons in statsarray[hour]) {
if (statsarray[hour].hasOwnProperty(persons)) {
array.push(statsarray[hour][persons] + " x " + persons);
}
}
line = hour + " - There's " + array.join(' and ');
alert(line);
}
}
请参阅:演示。
不幸的是,您必须使用 .hasOwnProperty
进行测试以确保它适用于某些库。
更新:您在问题中添加了 AJAX 调用中的代码,我注意到您在回调函数外部声明了 statsarray
变量,但在回调中为该变量分配了一些值。请记住,您必须在作为 AJAX 回调的函数中运行迭代代码,其中您有: statsarray = data;
- 紧接在这一行之后,以确保您确实有一些值要迭代。
相关文章:
- 同源策略目的|用户数据与基本页面数据|客户端页面抓取
- VBA正在抓取不在HTML源文件中的生成内容
- 尝试使用Node.js动态路由从IMDB中抓取电影内容.但是在我的output.json文件中没有定义
- 如何从网站上抓取链接和图片
- 用jquery抓取图像SRC-attr
- Javascript Regex-从价格中抓取分隔符
- 使用网络服务器的IP地址而不是域名对其进行屏幕抓取
- Javascript:如何从URL中抓取片段并将其写入一些PHP
- 使用htmlunit抓取动态网页
- 如何抓取URL的一部分并将其粘贴到页面上的某个位置
- Html抓取网站加载错误的J汤Java
- 如何获取网站所有页面的链接以进行数据抓取
- 如何使用AJAX和JSON从一个页面抓取PHP变量到另一个页面
- 我可以使用RubyonRails抓取URL的源代码吗?还是应该使用PHP
- 我如何从一个无限滚动的网站抓取图像,其中api是隐藏的,我无法通过使用Inspect Element获得它->网络
- 淘汰从选项中抓取类
- 原生脚本中的动态抓取?需要抓取页面,能够单击HTML按钮
- Highcharts向下钻取调整向下钻取/向上钻取时Y轴的大小
- 触控板夹取/取消夹取w/javascript(MacBook)
- HighCharts:树映射数据标签在向下钻取/向上钻取时不一致