0

我有一个 JSON 文件,它的名称值对比我想输入的要多。懒惰或优雅。而不是使用下面我必须输入所有名称值对的内容,必须有一个 val 的属性,如 val.name ,因此不必输入所有其他对。搜索找到答案的正确术语是什么?或者代码也会很好:)

当我想,“废话,我必须输入所有 *#&@$ !”时,这就是我开始使用的。

$.each(data, function(key, val) {
            items.push(key + val.TimeStamp + val.bandwidth + );

JSON

{
    "Router": "HS-DSCS1",
    "router_data": [
        {
            "TimeStamp": "2012/01/01 06:00:00",
            "NeighborIP": "192.168.1.1",
            "State": "Full",
            "Bytes001": "21362.95663",
            "Bytes002": "2.67 KB",
            "Bytes003": "9887.99707",
            "Bytes004": "1.24 KB",
            "Bytes005": "Serial0/1/0"
        }
    ]
}
4

2 回答 2

2

如果我正确理解您的问题,请使用for..in.

for (field in val){
   // something with val[field]
}
于 2012-04-10T21:44:56.353 回答
2

好像你只是在做字符串连接。如果是这样的话 ...

$.each(data, function(key, val) {
    items.push(key + $.map(val, String).join('') );
});

演示:http: //jsfiddle.net/ZVDcy/


或者,如果您正在构建一个新数组,您可以这样做......

var items = $.map(data, function(val, key) {
    return key + $.map(val, String).join('');
});

演示:http: //jsfiddle.net/ZVDcy/1/

于 2012-04-10T21:47:37.803 回答