【问题标题】:jQuery Looping JSON DatajQuery 循环 JSON 数据
【发布时间】:2013-04-08 19:28:13
【问题描述】:

我创建了 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 以在数据每天更改的日期之后动态获取数据,就像我在上面写的数据示例中一样? 之前谢谢...

【问题讨论】:

    标签: php jquery json jsonp


    【解决方案1】:

    您的示例数据需要考虑一些事项,但在您的情况下,以下方法可以解决问题:

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

    Here is a working example

    但这一切意味着什么?...

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

    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
    

    【讨论】:

    • 如果我想在一个字符串中拆分日期和值怎么办?我的意思是键和它的值存储在不同的字符串中
    • @BerthoJoris:我已经展示了如何做到这一点。 theDate 是日期/键,theNumber 是数字/值
    【解决方案2】:

    使用jQuery.each() 循环遍历items

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

    DEMO HERE

    【讨论】:

      【解决方案3】:

      您可以使用jQuery each function 来执行此操作。比如这样:

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

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

      【讨论】:

        【解决方案4】:

        //获取您的详细信息。

        var detail = data.items[0];

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

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

        }

        【讨论】:

          猜你喜欢
          • 2017-08-04
          • 2011-08-23
          • 1970-01-01
          • 1970-01-01
          • 2017-05-10
          • 1970-01-01
          • 1970-01-01
          • 2015-07-22
          • 2012-09-16
          相关资源
          最近更新 更多