2017-06-14 53 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... 
}