1

我在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
4

3 回答 3

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 个标记,可以按空格分割每个元素。

于 2012-08-15T07:57:09.307 回答
0

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

于 2012-08-15T07:54:58.737 回答
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
    }
});
于 2012-08-15T07:57:16.037 回答