2013-04-16 17 views
1

我創建API來檢索從我的服務器的數據,然後我得到JSON格式像這樣的數據:jQuery的環流式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 
    } 
    ] 
} 

我如何用我的JSON數據動態使用jQuery循環? 我的代碼:

<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來獲取數據,動態地跟隨該數據每天都會改變,因爲在我上面的數據寫的示例中的日期? 由於之前...

回答

1

使用jQuery.each()遍歷items

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

DEMO HERE

3

有考慮與您的示例數據的幾件事情,但你的情況,下面將做的伎倆:

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將屬性值(即日期比特),所以產品日期值:

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 
+0

如果我想拆開日期和值的字符串?我的意思是關鍵,其價值存儲在一個不同的字符串 –

+0

@BerthoJoris:我已經展示瞭如何做到這一點,'theDate'是日期/鍵,'theNumber'是數字/值 – musefan

1

你可以使用jQuery each function來做到這一點。例如像這樣:

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

哪裏k是關鍵,v是該項目的當前處理的值。

1

//獲取您的詳細信息。

var detail = data.items [0];

$。每個(詳細,功能(鍵,VAL){

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

}