[英]Accessing Objects inside Array inside JSON object using Javascript
[英]accessing and sorting array objects in json using javascript
我在玩javascript中的json对象,想看看是否有人可以帮助我解决问题
我的json文件包含一个哈希对象列表,该哈希对象包含一个键(id),其值是[ipaddress,timestamp,url]的数组
例如
{"output":
{
"1":["10.0.0.1","2012-07-11T11:41:42+01:00","http://myurl.com"],
"2":["10.0.0.1","2012-07-11T11:45:42+01:00","http://myurl2.com"],
"3":["192.168.1.1","2012-07-11T11:41:47+01:00","http://myurl3.com"]
}
}
我想做的是能够对数组的内容进行排序
例如,我想遍历json并为每个IP地址提取最高的时间戳
因此,上述json的示例输出如下所示:-
10.0.0.1 - http://myurl2.com
192.168.1.1 - http://myurl3.com
目前,我有一个简单的函数可以将原始数据输出到div中,但是我确定我可以更好地处理数组
var displayOutput = function(data){
var container = $("#fragment-1");
var body = “”;
$.each(data.output, function(key, val) {
var arr = val.toString().split(",");
body = body + arr[0]+ ' - ' + arr[1]) + ' - ' + arr[2]
});
container.html(body);
};
您将需要将JSON arent格式更改为易于排序。
也许是多维数组?
也许这可能有所帮助: 对JavaScript对象数组进行排序
或这样: http : //www.devcurry.com/2010/05/sorting-json-array.html
其中之一肯定会导致一个好的解决方案。 需要任何帮助,问:)
您可以使用underscore.js库。 例如,您可以使用以下方法对集合进行排序:
_.sortBy(yourData.output, function (elem) {
return new Date(elem[1]).getTime() - new Date().getTime();
});
当然,您需要首先将JSON解析为JavaScript对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.