Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据json响应显示数据日期?_Javascript - Fatal编程技术网

Javascript 如何根据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"

我有一个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":"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]}不知道如何迭代循环,请告诉我如何打印