0

我正在使用 mootools。

在我得到这个 json 数据之前

{"id":"120","name":"bassara","year":["1999","2003"],"cc":["2.4","2.5","3.0"],"type":"4","trans":["1"],"wd":["1","3"],"fuel":["1","2"],"hand":["1"],"hybrid":["1"]}

在javascript中

function get_cdata(){
var jsonRequest = new Request.JSON({
url: 'ajax_model_info.php?cid=' + cid,
onSuccess: function(car){
(car.id.[1],car.name.[1],car.year.[1])
}
}).send();
}

没关系。但现在我必须从这个 json 中获取数据

[{"7":{"1":0}},{"7":{"2":0}},{"7":{"3":0}},{"10":{"1":0}},{"10":{"2":0}},{"3":{"1":0}},{"3":{"2":0}},{"3":{"3":0}},{"3":{"4":0}},{"5":{"1":0}},{"5":{"2":0}},{"5":{"3":0}},{"5":{"4":0}}]

如何像第一个例子一样获取数据。因为它很容易。对不起菜鸟问题。

4

1 回答 1

2

这就像您需要迭代的任何其他对象数组一样。

var data = 
[{"7":{"1":0}},{"7":{"2":0}},{"7":{"3":0}},{"10":{"1":0}},{"10":{"2":0}},{"3":{"1":0}},{"3":{"2":0}},{"3":{"3":0}},{"3":{"4":0}},{"5":{"1":0}},{"5":{"2":0}},{"5":{"3":0}},{"5":{"4":0}}];

data.each(function(obj){
    // mootools iterator
    Object.each(obj, function(val, key){
        console.log('key is: ' + key);
        // inner loop again or
        // or standard js iterator
        for (var k in val){
            if (val.hasOwnProperty(k)){
                console.log(k, val[k]);
            }
        }
    });
});

Mootools 为您提供了许多使用对象和数组的工具 - 在此处阅读两种类型方法的手册:http: //mootools.net/docs/core/Types/Objecthttp://mootools.net/docs/core/类型/数组

这里有用的可能是 pluck、Object.keys、Object.values 等。许多方法可以接近。

请记住,规范中的 FIFO 未涵盖对象的数字属性,Chrome (webkit) 倾向于对它们进行排序并以错误的顺序生成它们。

于 2013-07-25T16:30:28.393 回答