javascript - 使用 jQuery 遍历 JSON 数组

标签 javascript jquery json

我的 json 数组是这样的:

[{"id":"1","cid":"1","da":"08:00:00","a":"12:00:00","data":"2011-07-03","persone":"3","nome":"Via Bligny"},

{"id":"8","cid":"1","da":"08:30:00","a":"14:45:00","data":"2011-09-26","persone":"2","nome":"Via Bligny"},

{"id":"9","cid":"1","da":"08:30:00","a":"14:15:00","data":"2011-09-26","persone":"2","nome":"Via Bligny"}]

我想把它打印在一个表格中,例如,

<tr><td>{id}</td><td>{da}</td><td>{a}</td><td>{data}</td>(ecc)</tr>

每个数据集一行,但是,如果我尝试使用此代码

function ore(cid){
        $.post('index.php?act=ore', {cid : 1}, function(data){
            $.each(data, function(i){
                document.write(data[i].id);
            });
        });
    }

例如,这是输出

undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined

谢谢。

最佳答案

Your code as shown works fine.

因此,我假设您在循环之前没有将 JSON 解析为 JavaScript

var parsed = $.parseJSON( data );

所以你的代码会是...

function ore(cid){
    $.post('index.php?act=ore', {cid : 1}, function(data){

           // parse it first
        var parsed = $.parseJSON( data );

        $.each(parsed, function(i,v){
            document.write(parsed[i].id);
     //     document.write(v); // or like this
        });
    });
}

如果不进行解析,您只是循环遍历字符串中的字符,并且它们都不具有 id 属性。

关于javascript - 使用 jQuery 遍历 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8871452/

相关文章:

javascript - 有没有办法在运行时从源代码中隐藏一个div

javascript - 在change()上从文本框值更新JQuery-UI slider

ios - 选择没有关联 JSON 响应的单元格时该怎么办

javascript - 如何在javascript中获取所有标签及其输入元素

javascript - 在 Firefox 中捕获页面的 x 和 y 坐标

javascript - 在dom上应用charAt方法?

jquery - 将文本框设置回默认样式

javascript - Jquery 与相邻的 div 一起滑出

java - 是否可以将 Object 对象作为方法参数传递

php - JSON 64位解码来自android的位图以放置在mysql BLOB中