2017-06-14 52 views
-1

我想通過我的數據循環,做東西。JavaScript循環通過JSON.stringify(數據)

var stuff = JSON.stringify(data) 

返回我是這樣的:

{"0":"data:image/png;base64,testi,"2":"data:image/png;base64, testi2, .... 

我通過需要循環,但我做的辦法,沒有工作。

 for (var i = 0; i < stuff.length; i++) { 
      $('#img-thumb-id'+i).attr('src', data[i]); 
     } 

編輯

我使用JSON.stringify因爲console.log(data)剛回到我反對的對象,我不能一起工作。

+2

'data'是一個對象..你應該使用'的(數據VAR鍵){...}' –

+0

的唯一的事情,從'JSON輸出.stringify'應該被傳遞給JSON解碼器。你爲什麼要採用完美的數據結構,然後試圖解析其序列化表單? – Alnitak

+0

我正在使用JSON.stringify,因爲如果我console.log數據,我只是得到對象對象 – Olipol

回答

3

如果你想通過data循環,那麼你需要循環通過data

將它轉換爲JSON文檔會給你一個字符串。你不能(有用)循環。

由於將其轉換爲JSON表明它是一個對象,而不是一個數組,因此它不可能有一個length,因此您需要use a method to loop over objects

+0

嗨,謝謝你怎麼會看到循環,只是一個基本的循環,通過這些數據,早些時候我試圖通過data.length循環,但這並沒有工作以及 – Olipol

+0

@Olipol - 看到這個答案的最後一段(包括鏈接到一個整個問題)。 – Quentin

+0

不錯,我理解謝謝 – Olipol

0

爲了遍歷對象鍵可以使用:

var keys = Object.keys(data); 

,讓你在你的對象的所有鍵的數組。 現在,您可以循環的價值觀:

for (var i = 0; i < keys.length; i++) { 
    var value = data[key]; 
    // your code here... 
}