Javascript 如何根据json响应显示数据日期?
我有一个json响应,格式如下:Javascript 如何根据json响应显示数据日期?,javascript,Javascript,我有一个json响应,格式如下: [{"message":"fsbdfs","id":"8290","readBy":"2016-05-25 06:17:01","userID":"339","dateTime":"2016-05-25 06:16:32"},{"message":"Hi","id":"8291","readBy":"2016-05-25 06:33:52","userID":"332","dateTime":"2016-05-25 06:17:06"},{"message"
[{"message":"fsbdfs","id":"8290","readBy":"2016-05-25 06:17:01","userID":"339","dateTime":"2016-05-25
06:16:32"},{"message":"Hi","id":"8291","readBy":"2016-05-25 06:33:52","userID":"332","dateTime":"2016-05-25
06:17:06"},{"message":"nbfsdbf","id":"8292","readBy":"","userID":"339","dateTime":"2016-05-25 07:03
:44"},{"message":"jsdhfjsdhf","id":"8293","readBy":"","userID":"339","dateTime":"2016-05-25 07:06:55"
},{"message":"fbsnf","id":"8294","readBy":"","userID":"339","dateTime":"2016-05-25 07:06:59"},{"message"
:"dfgjdf","id":"8295","readBy":"","userID":"339","dateTime":"2016-05-25 07:08:14"},{"message":"sim","id"
:"8296","readBy":"","userID":"339","dateTime":"2016-05-25 07:24:24"},{"message":"mgmdf,","id":"8297"
,"readBy":"","userID":"339","dateTime":"2016-05-25 10:16:34"},{"message":"bvd","id":"8317","readBy":""
,"userID":"339","dateTime":"2016-05-31 06:25:40"},{"message":"fdfd","id":"8318","readBy":"","userID"
:"339","dateTime":"2016-05-31 06:25:43"}]
我想在聊天框中显示这些消息,但按日期显示,如第一次显示日期2015年5月25日,然后显示消息以及与该日期相关的所有消息,在新日期之后显示,下一次显示日期2015年5月31日消息1消息2,依此类推
我是这样打印的,它只是附加信息,但我需要
使用日期和时间对其进行筛选
for (i = 0; i < msg1.length; i++) {
var el = $('<li class="message right appeared"><div class="avatar"><img src="'+url+'/service/getUserImage/'+msg1[i].userID +'/60"/></div><div class="text_wrapper"><div class="text">'+msg1[i].message+'</div></div></li>');
$(".chat_window ul").append(el);
}
(i=0;i
var el=$(“”+msg1[i]。消息+” );
$(“.chat_window ul”).append(el);
}
您可以对数据进行分组,然后根据分组输出的需要获取密钥并对其进行排序
var data=[{“message”:“fsbdfs”,“id”:“8290”,“readBy”:“2016-05-25 06:17:01”,“userID”:“339”,“dateTime”:“2016-05-25 06:16:32”},{“message”:“Hi”,“id”:“8291”,“readBy”:“2016-05-25 06:33:52”,“userID”:“332”,“dateTime”:“2016-05-25 06:17:06”},{“message nbfsdbf”,“id”:“8292”,“readBy”:“userID”:“339”,“dateTime”:“2016-05-25 07:03:44”},{“消息”:“jsdhfjsdhf”,“id”:“8293”,“readBy”:“用户id”:“339”,“日期时间”:“2016-05-25 07:06:55”},{“消息”:“fbsnf”,“id”:“8294”,“readBy”:“用户id”:“339”,“日期时间”:“2016-05-25 07:06:59”},{“消息”:“dfgjdf”,“id”:“8295”,“readBy”:“用户id”:“339”,“日期时间”:“2016-05-25:08:14”{”消息:“sim”、“id”:“8296”、“readBy”:“userID”:“339”、“dateTime”:“2016-05-25 07:24:24”}、{“消息”:“mgmdf”、“id”:“8297”、“readBy”:“userID”:“339”、“dateTime”:“2016-05-25 10:16:34”}、{“消息”:“bvd”、“id”:“8317”、“readBy”:“userID”:“339”、“dateTime”:“2016-05-31 06:25:40”}、{“消息”:“FD“:”,“用户ID”:“339”,“日期时间”:“2016-05-31 06:25:43”}],
分组={},
ul=document.createElement('ul');
data.forEach(函数(a){
var key=a.dateTime.substring(0,10);
分组[键]=分组[键]| |[];
分组[键]。推送(a);
});
Object.keys(分组).sort().forEach(函数(k){
var li=document.createElement('li');
li.innerHTML=k;
分组[k]。forEach(函数(a){
var p=document.createElement('p');
p、 innerHTML=JSON.stringify(a);
这名儿童(p);
},李);
ul.儿童(li);
});
文件.正文.附件(ul)代码>以下代码可以按日期进行分组
var obj=[{
“消息”:“fsbdfs”,
“id”:“8290”,
“阅读人”:“2016-05-2506:17:01”,
“用户ID”:“339”,
“日期时间”:“2016-05-2506:16:32”
}, {
“留言”:“你好”,
“id”:“8291”,
“阅读人”:“2016-05-25 6:33:52”,
“用户ID”:“332”,
“日期时间”:“2016-05-2506:17:06”
}, {
“消息”:“nbfsdbf”,
“id”:“8292”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 07:03:44”
}, {
“消息”:“jsdhfjsdhf”,
“id”:“8293”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 07:06:55”
}, {
“消息”:“fbsnf”,
“id”:“8294”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 07:06:59”
}, {
“消息”:“dfgjdf”,
“id”:“8295”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 07:08:14”
}, {
“消息”:“sim卡”,
“id”:“8296”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 07:24:24”
}, {
“消息”:“mgmdf,”,
“id”:“8297”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-25 10:16:34”
}, {
“消息”:“bvd”,
“id”:“8317”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-31 06:25:40”
}, {
“消息”:“fdfd”,
“id”:“8318”,
“阅读人”:“阅读人”,
“用户ID”:“339”,
“日期时间”:“2016-05-31 06:25:43”
}];
对象排序(函数(a,b){
返回a.dateTime.localeCompare(b.dateTime)
});
var-map={};
对象forEach(功能(val){
var date=val.dateTime.split(“”[0];
地图[日期]=地图[日期]| |[];
地图[日期].推送(val)
});
console.log(map)
您忘记添加代码了,那么有什么问题?此时,您似乎在问如何解析JSON、对数组排序、循环数组以及向DOM添加新内容。哪些问题给你带来了麻烦?你自己做了什么研究来解决这个问题?你应该用日期字段从db orderby desc中筛选出数据。@gurvinder372:我不能处理这个问题。这是来自第三方的。我需要在聊天窗口中显示此响应数据,但根据日期,例如我们的whats应用程序msg,在一个组中显示昨天的消息,在另一个组中显示今天的消息group@AlonEitan字体没有,我什么也没忘。上面是json响应,我需要显示日期信息,比如msgsdata可以按日期排序,但不能按日期分组,这就是我的代码does@SumitAggarwal您需要迭代映射,并显示相应的数据,如(i=0;iits给我的类似对象{2016-05-31=[10]}不知道如何迭代循环,请告诉我如何打印