介绍
小编给大家分享一下JavaScript如何实现构造json数组的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
具体如下:
从后端拿到的数据是一个数组,每个元素中包含的数据如下(主机相同的记录都是相邻的)
currentTime:“1470729601“
引用>
主持人:“10.3.34.21"
taskList:空
taskNum: 1想构造类似如下结构的json数组
[{ ,,名字:& # 39;主机:10.1.6.49& # 39; ,,数据:[ ,,,1470641461000,,5, ,,,1470642581000,,4, ,,,(1470643701000,,2), ,,,(1470647341000,,3) ,,) },{ ,,名字:& # 39;主机:10.3.34.18& # 39; ,,数据:[ ,,,(1470641461000,,2), ,,,(1470642581000,,2), ,,,1470643701000,,1, ,,,(1470647341000,,4) ,,) },{ ,,名字:& # 39;主机:10.2.2.22& # 39; ,,数据:[ ,,,1470641461000,,3, ,,,(1470642581000,,2), ,,,(1470643701000,,6), ,,,(1470647341000,,4) ,,) }, { ,,名字:& # 39;主机:10.1.110.96& # 39; ,,数据:[ ,,,1470641461000,,1, ,,,(1470642581000,,8) ,,,1470643701000,,1, ,,,(1470647341000,,1) ,,) }, { ,,名字:& # 39;主机:10.2.2.87& # 39; ,,数据:[ ,,,1470641461000,,7, ,,,1470642581000,,3, ,,,(1470643701000,,6), ,,,(1470647341000,,5) ,,) }]<>强错误的方式:强>
var backendData =, data.result; var resultList =, new 数组(); var curHost =,““ var oneHostDataList =, new 数组(); for (var 小姐:backendData拷贝),{ var 才能;host =, backendData[我].host; if 才能;(host !=, curHost), { ,,,如果(小姐:!=,0),{ ,,,,,var item =, new 对象(); ,,,,,item.name =, curHost; ,,,,,item.data =, oneHostDataList; ,,,,,resultList.push(项); ,,,} ,,,oneHostDataList =, new 数组(); ,,,curHost =,主机; ,,} else {才能 ,,,var dot =, new 数组(); ,,,dot.push (backendData[我].currentTime *, 1000); ,,,dot.push (backendData[我].taskNum); ,,,oneHostDataList.push(点); ,,} } var item =, new 对象(); 时间=item.name curHost; 时间=item.data oneHostDataList; resultList.push(项); scope.data 美元;=,JSON.stringify (resultList);以上方式的问题在于转换后会使得名称和主机和带上引号,正确的方式如下:
var backendData =, data.result; var resultList =, []; var curHost =,““ var oneHostDataList =, new 数组(); for (var 小姐:backendData拷贝),{ var 才能;host =, backendData[我].host; if 才能;(host !=, curHost), { ,,,如果(小姐:!=,0),{ ,,,,,var item =, { ,,,,,,,名字:,curHost, ,,,,,,,数据:oneHostDataList ,,,,,}; ,,,,,resultList.push(项); ,,,} ,,,oneHostDataList =, new 数组(); ,,,curHost =,主机; ,,} else {才能 ,,,var dot =, new 数组(); ,,,dot.push (backendData[我].currentTime *, 1000); ,,,dot.push (backendData[我].taskNum); ,,,oneHostDataList.push(点); ,,} } var item =, new 对象(); 时间=item.name curHost; 时间=item.data oneHostDataList; resultList.push(项); scope.data 美元=,resultList;以上是“JavaScript如何实现构造json数组的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
JavaScript如何实现构造json数组的方法