我想对json处理,得到另一种格式的json

cyyjm 2019-08-15 03:34:23
原json:
[
{"user":"A","time":"2019.07.23","exactTime":"08:37,12:00,13:34,17:02"},
{"user":"A","time":"2019.07.24","exactTime":"08:40,12:00,13:33,17:03"},
{"user":"A","time":"2019.07.25","exactTime":"08:25,13:28,17:11"},
{"user":"A","time":"2019.07.26","exactTime":"08:20,17:14"},
{"user":"B","time":"2019.07.23","exactTime":"08:37,12:04,13:37"},
{"user":"B","time":"2019.07.24","exactTime":"12:03,13:28,17:04"},
{"user":"B","time":"2019.07.25","exactTime":"08:50,11:50,14:00"}
]

想得到这样的json格式
[
{"user":"A","time":"2019.07.23","Time1":"08:37","Time2":"12:00","Time3":"13:34","Time4":"17:02"},
{"user":"A","time":"2019.07.24","Time1":"08:40","Time2":"12:00","Time3":"13:33","Time4":"17:03"},
{"user":"A","time":"2019.07.25","Time1":"08:25","Time2":"","Time3":"13:28","Time4":"17:11"},
{"user":"A","time":"2019.07.26","Time1":"08:20","Time2":"","Time3":"","Time4":"17:14"},
{"user":"B","time":"2019.07.23","Time1":"08:37","Time2":"12:00","Time3":"13:34","Time4":"17:02"},
{"user":"B","time":"2019.07.24","Time1":"","Time2":"12:02","Time3":"13:28","Time4":"17:04"},
{"user":"B","time":"2019.07.25","Time1":"08:50","Time2":"11:50","Time3":"14:00","Time4":""}
]
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2019-08-15
  • 打赏
  • 举报
回复


var data = [
{"user":"A","time":"2019.07.23","exactTime":"08:37,12:00,13:34,17:02"},
{"user":"A","time":"2019.07.24","exactTime":"08:40,12:00,13:33,17:03"},
{"user":"A","time":"2019.07.25","exactTime":"08:25,13:28,17:11"},
{"user":"A","time":"2019.07.26","exactTime":"08:20,17:14"},
{"user":"B","time":"2019.07.23","exactTime":"08:37,12:04,13:37"},
{"user":"B","time":"2019.07.24","exactTime":"12:03,13:28,17:04"},
{"user":"B","time":"2019.07.25","exactTime":"08:50,11:50,14:00"}
];
data.forEach(function(obj){
	var arr = obj.exactTime.split(",");
	delete obj.exactTime;
	obj.Time1 = "";
	obj.Time2 = "";
	obj.Time3 = "";
	obj.Time4 = "";
	arr.forEach(function(v){
		var n = 1, h = parseInt(v, 10);
		if (h>8) n = 2;
		if (h>12) n = 3;
		if (h>16) n = 4;
		obj["Time"+n] = v;
	});
});
console.log(JSON.stringify(data,null,4));
cyyjm 2019-08-15
  • 打赏
  • 举报
回复
看时间的格式,一般 08:xx 放到Time1,12:xx 放到 Time2,13:xx 放到 Time3,17:xx 放到 Time4
天际的海浪 2019-08-15
  • 打赏
  • 举报
回复
exactTime的时间不够4个的话,Time1,Time2,Time3,Time4中哪个为空?有什么规定?
天际的海浪 2019-08-15
  • 打赏
  • 举报
回复
exactTime的时间不够4个的话,Time1,Time2,Time3,Time4中哪个为空?

87,903

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧