如何拆分从json文件读取的数据?

时间:2012-08-15 07:51:58

标签: javascript jquery

我在data.json文件中有这个json数据。

[
"1009 2000",
"1009 2001",
"1002 2002",
"1003 2002"
]

我循环浏览此数据并根据,拆分数据,如下面的代码所示

var show = function () {
    var span = $('.input');
    var c = $('ul');
    $.getJSON('data/data.json', function (id) {
        var j = id.split(',');
        var hsl = j[0];
        var ny = j[1];

        $('<li>' + id + '</li>').appendTo(c);
        $(c).appendTo(span);
        console.log(hsl);
    });
}

但是这在控制台中给了我这个错误

Object 1009 2000,1009 2001,1002 2002,1003 2002 has no method 'split' 

如何分割这些数据,以便我可以像这样显示

 1009 2000
 1009 2001
 1002 2002
 1003 2002

3 个答案:

答案 0 :(得分:2)

您不需要拆分任何东西,只需循环:

$.getJSON('data/data.json', function (ids) {
    for (var i = 0; i < ids.length; i++) {
        var id = ids[i];
        console.log(id);
    }
});

jQuery会自动将从服务器返回的字符串解析为javascript数组,以便您可以直接访问其元素。

如果要检索2个标记,可以按空格分割每个元素。

答案 1 :(得分:0)

id变量实际上是数组,因为getJson会为你解析它。只需循环遍历数组并打印每个项目。

答案 2 :(得分:0)

好像你的意思是说返回的数据是一个字符串,你需要把它转换成一个数组。

$.getJSON('data/data.json', function(id) {

    id = JSON.parse(id);
    for(var i=0, len=id.length; i<len; i++){
        //do your stuff here
    }
});