目前遇到点js的问题,就是需要根据后台传回的json字符串组合成一个二维数组供组件使用,类似于这样的json字符串:
var jsonData = "[{id:'0', name:'工厂',size:13,parentID:''},{id:'1', name:'分销A',size:13,parentID:'0'},{id:'2', name:'分销B',size:13,parentID:'0'}]";
需要转成:
var source = [['ID','name','size','parentID'],
['0','工厂',13,''],
['1','分销站A',13,'0'],
['2','分销站B',13,'0']
];
请教如何转换,麻烦各位帮忙解决一下
var jsonData = "[{id:'0', name:'工厂',size:13,parentID:''},{id:'1', name:'分销A',size:13,parentID:'0'},{id:'2', name:'分销B',size:13,parentID:'0'}]";
需要转成:
var source = [['ID','name','size','parentID'],
['0','工厂',13,''],
['1','分销站A',13,'0'],
['2','分销站B',13,'0']
];
请教如何转换,麻烦各位帮忙解决一下
解决方案 »
- jquery的ajax验证,阻止表单提交问题
- 下面这段代码中document.zcform.username.select();是什么意思
- 请问这个函数为什么不能输出,谢谢了
- javascript如何动态控制按钮不可点击或可以点击
- javascript随机显示图片的遇见一个困惑!~
- 【求助】问一个关于Form的submit()方法的问题
- 动态增加控件
- 散分寻找资料,up有分
- 当鼠标移到一个链接或图片上时显示其它的html文件?
- jQuery中location('')函数在Chrome中显示Uncaught ReferenceError: load is not defined错误
- 请问这段播放mp3的代码为什么在iPad和iPhone中不能自动播放?
- 求js提示安装确实插件并下载
var source = [];
source[0] = ['ID', 'name', 'size', 'parentID'];
for (var i = 0, j = jsonData.length; i < j; i++)
source[i + 1] = [jsonData[i].id, jsonData[i].name, jsonData[i].size, jsonData[i].parentID];alert(source.join('|'))
var arr1="['ID','name','size','parentID']";
var arr2='[';
for(i=0;i<jsonData.length;i++){
var temp="['{0}','{1}','{2}','{3}']";
arr2+=temp.replace("{0}",jsonData[i].id).replace("{1}",jsonData[i].size).replace("{2}",jsonData[i].name).replace("{3}",jsonData[i].parentID)
}
arr2+=']'
var source =[arr1,arr2];
alert(source);
var jsonsString = jsonData.slice(1, jsonData.length - 1);
var jsonStrings = jsonsString.split("},");
var length = jsonStrings.length;
var jsons = [];
for (var i = 0; i != length-1; ++i) {
jsonStrings[i] += '}';
}
var source = [[]];
for (var i = 0; i != length; ++i) {
jsons[i] = eval('(' + jsonStrings[i] + ')');
var data = [];
for(var key in jsons[i]) {
if(i == 0) {
source[0].push(key);
}
data.push(jsons[i][key]);
}
source.push(data);
}
return source;
}
这样应该是可以的,你试一下,应该还有更好的方法,求指教,相互学习
var json=eval(jsonData);
var arr1="['ID','name','size','parentID']";
var arr2='[';
for(i=0;i<json.length;i++){
var temp="['{0}','{1}','{2}','{3}']";
arr2+=temp.replace("{0}",json[i].id).replace("{1}",json[i].size).replace("{2}",json[i].name).replace("{3}",json[i].parentID)
}
arr2+=']'
var source ='['+arr1+','+arr2+']';
alert(source);