繁体   English   中英

循环json_encoded数据

[英]Looping json_encoded data

嘿,我有一个json_encode,我试图循环并显示输出,但它不起作用,我没有输出= /

这是我的JS小提琴: http : //jsfiddle.net/Z4jTc/1/

有人可以解释为什么它不会循环吗?

码:

var messages = {"1":["2","1","0000-00-00 00:00:00","testing once"],"2":["2","1","0000-00-00 00:00:00","testing twice :)"]};

    for(var id in messages){

            var read = messages[id][0];
            var from = messages[id][1];
            var sent_on = messages[id][2];
            var content = messages[id][3];

            document.write = 'test';
            document.write = '<div class="message_info">';
            document.write =  '<b>From:</b> '+from+'<br/><br/>';
            document.write = '<b>Sent On:</b> '+sent_on;
            document.write = '</div><div class="message_content">';
            document.write = content;
            document.write = '</div> <br/><br/>';

    }​

您一直在覆盖document.write函数,而从未真正调用它。

document.write("test");

应该如何使用。

这么多document.write的速度很慢。 解析对象后,您可以在一个调用中完成此操作:

var messages = {"1":["2","1","0000-00-00 00:00:00","testing once"],"2":["2","1","0000-00-00 00:00:00","testing twice :)"]};
var output = [];
for(var id in messages){

    var read = messages[id][0];
    var from = messages[id][1];
    var sent_on = messages[id][2];
    var content = messages[id][3];

    output.push('test');
    output.push('<div class="message_info">');
    output.push( '<b>From:</b> '+from+'<br/><br/>');
    output.push('<b>Sent On:</b> '+sent_on);
    output.push('</div><div class="message_content">');
    output.push(content);
    output.push('</div> <br/><br/>');
}​

document.write(output.join(''));

...或将输出放在页面上的容器中...

document.getElementById('destinationContainer').innerHTML(ouput.join(''));

document.write是一个函数

采用

document.write('test');

代替

 document.write = 'test';

参见http://jsfiddle.net/Z4jTc/2/

暂无
暂无

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

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