js json解析并重组成二维数组
原始json:arr=[{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}]解析重组后:newArr=[[{a:1},{b:5}],[{a:2},{...
原始json:arr = [{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}]
解析重组后:newArr = [[{a:1},{b:5}],[{a:2},{b:7}],[{a:3},{b:10}]]
需要兼顾可扩展性,也就是说 arr数据也可能是这样的[{a:1},{a:2},{a:3},{a:4},{b:5},{b:7},{b:10},{b:12},{c:"11"},{c:"22"},{c:"33"},{c:"44"}],重组类似上面的newArr结构。
请问怎么样解析重组这样的格式?
是前端解析,不是后台。 展开
解析重组后:newArr = [[{a:1},{b:5}],[{a:2},{b:7}],[{a:3},{b:10}]]
需要兼顾可扩展性,也就是说 arr数据也可能是这样的[{a:1},{a:2},{a:3},{a:4},{b:5},{b:7},{b:10},{b:12},{c:"11"},{c:"22"},{c:"33"},{c:"44"}],重组类似上面的newArr结构。
请问怎么样解析重组这样的格式?
是前端解析,不是后台。 展开
展开全部
var arr = [{a:1},{a:2},{a:3},{b:5},{b:7},{b:10}];
var newArr = [];
arr.map(e=>Object.keys(e)[0]).filter((e,i,o)=>o.indexOf(e)===i).map(e=>{
arr.filter((e1,i)=>Object.keys(e1)==e).forEach((e,i)=>{
if(!newArr[i])newArr[i]=[];
newArr[i].push(e);
});
});
console.log(newArr);
展开全部
用StringBuffer啊! StringBuffer sf=new StringBuffer();
sf.append('[');
sf.append(jsonData);
sf.append(']');
这样组合一下。当然前台js里面是不能用StringBuffer sf=new StringBuffer();的 你可以在后台直接就转成[{ month:12, day:24},{ month:12, day:25 },{ month:12, day:31 }]样式的!这样的另一个好处就是前台只专注于处理前台本身的事情了。数据什么的后台全搞好了干干净净传前面去。
sf.append('[');
sf.append(jsonData);
sf.append(']');
这样组合一下。当然前台js里面是不能用StringBuffer sf=new StringBuffer();的 你可以在后台直接就转成[{ month:12, day:24},{ month:12, day:25 },{ month:12, day:31 }]样式的!这样的另一个好处就是前台只专注于处理前台本身的事情了。数据什么的后台全搞好了干干净净传前面去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询