繁体   English   中英

jQuery循环JSON数据

[英]jQuery Looping JSON Data

我创建了API以从服务器检索数据,然后以json格式获取数据,如下所示:

{
"items": [
    {
        "2013-03-28": 1771,
        "2013-03-29": 1585,
        "2013-03-30": 1582,
        "2013-03-31": 1476,
        "2013-04-01": 2070,
        "2013-04-02": 2058,
        "2013-04-03": 1981,
        "2013-04-04": 1857,
        "2013-04-05": 1806,
        "2013-04-06": 1677,
        "2013-04-07": 1654,
        "2013-04-08": 2192,
        "2013-04-09": 2028,
        "2013-04-10": 1974,
        "2013-04-11": 1954,
        "2013-04-12": 1813,
        "2013-04-13": 1503,
        "2013-04-14": 1454,
        "2013-04-15": 1957,
        "2013-04-16": 1395
    }
  ]
}

如何使用jQuery动态循环处理json数据? 我的代码:

<html>
<head></head>
<body>
<script src="jquery-1.9.1.js"></script>
<script>
   $(document).ready(function() {
    $.ajax({
        type : "GET",
        url: "myurl.php",
        cache: false,
        dataType: "jsonp",
        success:function(data){
            if(data==''){
                alert('Fail');
            }else{
                alert('Success');   
            }
        }
    })
  });
</script>
</body>
</html>

我如何修改jQuery以在数据每天都会更改的日期之后动态获取数据,如我在上面的数据示例中所写? 谢谢...

您的示例数据有几件事情要考虑,但是在您的情况下,以下将达到目的:

var importantObject = data.items[0];
for(var item in importantObject ){
    var theDate = item;//the KEY
    var theNumber = importantObject[item];//the VALUE
}

这是一个有效的例子

但是这一切意味着什么?

首先,我们需要获取要使用的对象,这是在{ } (表示对象)之间找到的日期/数字的列表-数组定义为[ ] 通过给出的示例,可以像这样实现:

var importantObject = data.items[0];

因为items是一个数组,而我们想要的对象是该数组中的第一个项目。

然后,我们可以使用foreach技术,该技术可以有效地迭代对象的所有属性。 在此示例中,属性是日期值:

for(var item in importantObject ){ ... }

因为我们正在迭代属性,所以item将是属性值(即日期位),因此item 日期值:

var theDate = item;//the KEY

最后我们得到数字部分。 我们可以使用属性索引(相对于对象)的字符串值来访问任何给定对象属性的值,如下所示:

var theNumber = importantObject[item];//the VALUE

如果您已经知道要使用哪个日期的值,则可以像这样直接访问它:

var myValue = data.items[0]["2013-04-16"];//myValue will be 1395 in this example

您可以使用jQuery每个函数来执行此操作。 例如这样:

$.each(data, function(k, v) {
    // Access items here
});

其中k是键, v是当前正在处理的项目的值。

使用jQuery.each()遍历items

$.each(data.items[0], function (key, value) {
    console.log(key + ": " + value);
    var date = key;
    var number = value;
});

此处演示

//获取您的详细信息。

var detail = data.items [0];

$ .each(detail,function(key,val){

console.log(key + ": " + val);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM