最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript实现构造json数组的方法分析

来源:动视网 责编:小采 时间:2020-11-27 22:09:37
文档

JavaScript实现构造json数组的方法分析

JavaScript实现构造json数组的方法分析:本文实例讲述了JavaScript实现构造json数组的方法。分享给大家供大家参考,具体如下: 从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的) currentTime:1470729601 host:10.3.34.21 taskList:n
推荐度:
导读JavaScript实现构造json数组的方法分析:本文实例讲述了JavaScript实现构造json数组的方法。分享给大家供大家参考,具体如下: 从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的) currentTime:1470729601 host:10.3.34.21 taskList:n


想构造类似如下结构的json数组

[{
 name: 'host:10.1.6.49',
 data: [
 [1470641461000, 5],
 [1470642581000, 4],
 [1470643701000, 2],
 [1470647341000, 3]
 ]
}, {
 name: 'host:10.3.34.18',
 data: [
 [1470641461000, 2],
 [1470642581000, 2],
 [1470643701000, 1],
 [1470647341000, 4]
 ]
}, {
 name: 'host:10.2.2.22',
 data: [
 [1470641461000, 3],
 [1470642581000, 2],
 [1470643701000, 6],
 [1470647341000, 4]
 ]
},{
 name: 'host:10.1.110.96',
 data: [
 [1470641461000, 1],
 [1470642581000, 8],
 [1470643701000, 1],
 [1470647341000, 1]
 ]
},{
 name: 'host:10.2.2.87',
 data: [
 [1470641461000, 7],
 [1470642581000, 3],
 [1470643701000, 6],
 [1470647341000, 5]
 ]
}]

错误的方式:

var backendData = data.result;
var resultList = new Array();
var curHost = "";
var oneHostDataList = new Array();
for (var i in backendData) {
 var host = backendData[i].host;
 if (host != curHost) {
 if(i != 0) {
 var item = new Object();
 item.name = curHost;
 item.data = oneHostDataList;
 resultList.push(item);
 }
 oneHostDataList = new Array();
 curHost = host;
 }
 else {
 var dot = new Array();
 dot.push(backendData[i].currentTime * 1000);
 dot.push(backendData[i].taskNum);
 oneHostDataList.push(dot);
 }
}
var item = new Object();
item.name = curHost;
item.data = oneHostDataList;
resultList.push(item);
$scope.data = JSON.stringify(resultList);

以上方式的问题在于转换后会使得name和host和带上引号,正确的方式如下:

var backendData = data.result;
var resultList = [];
var curHost = "";
var oneHostDataList = new Array();
for (var i in backendData) {
 var host = backendData[i].host;
 if (host != curHost) {
 if(i != 0) {
 var item = {
 name: curHost,
 data: oneHostDataList
 };
 resultList.push(item);
 }
 oneHostDataList = new Array();
 curHost = host;
 }
 else {
 var dot = new Array();
 dot.push(backendData[i].currentTime * 1000);
 dot.push(backendData[i].taskNum);
 oneHostDataList.push(dot);
 }
}
var item = new Object();
item.name = curHost;
item.data = oneHostDataList;
resultList.push(item);
$scope.data = resultList;

PS:这里再为大家推荐几款相关的json在线工具供大家参考:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多关于JavaScript相关内容可查看本站专题:《JavaScript中json操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

文档

JavaScript实现构造json数组的方法分析

JavaScript实现构造json数组的方法分析:本文实例讲述了JavaScript实现构造json数组的方法。分享给大家供大家参考,具体如下: 从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的) currentTime:1470729601 host:10.3.34.21 taskList:n
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top