json格式转换问题,怎么搞,谢谢各位

nitaiyoucala 2017-11-24 10:53:53
{"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"}
转换成
[{"TT":"abac","BB":"电工电子产品"},{"TT":"xxxxxx","BB":"测试"}]
...全文
233 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jio可 2017-11-24
  • 打赏
  • 举报
回复
都知道属性名为什么不直接写
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"}; var arr = [{TT:obj.TT,BB:obj.BB},{TT:obj.TT1,BB:obj.BB1}];
functionsub 2017-11-24
  • 打赏
  • 举报
回复
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var reg = /(TT|BB)(\d*)/;
var res = [];
var temp = {};
for(var p in obj){
    var match = p.match(reg);
    if(match){
        var num = match[2];
        var tempKey = 'TT'+num + 'BB' + num;
        if(!temp[tempKey]){
            temp[tempKey] = {};
        }
        temp[tempKey][match[1]] = obj[p];
    }
}
for(var p in temp){
    res.push(temp[p]);
}
emmmm,上面忘记把属性名后面点数字去掉了。要加字段的话就在reg第一个括号里加。 比如以后还要加一个CC那就改成
var reg = /(TT|BB|CC)(\d*)/;
functionsub 2017-11-24
  • 打赏
  • 举报
回复
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var reg = /(?:TT|BB)(\d*)/;
var res = [];
var temp = {};
for(var p in obj){
    var match = p.match(reg);
    if(match){
        var num = match[1];
        var tempKey = 'TT'+num + 'BB' + num;
        if(!temp[tempKey]){
            temp[tempKey] = {};
        }
        temp[tempKey][match[0]] = obj[p];
    }
}
for(var p in temp){
    res.push(temp[p]);
}
Go 旅城通票 2017-11-24
  • 打赏
  • 举报
回复

    var d = { "TT": "abac", "BB": "电工电子产品", "TT1": "xxxxxx", "BB1": "测试" }
    var nd = []
    for (i = 0; i < 100; i++) {
        if (d['TT' + (i ? i : '')]) nd.push({ TT: d['TT' + (i ? i : '')], BB: d['BB' + (i ? i : '')]||'' });
    }
    console.log(nd)


Web开发学习资料推荐
jqGrid行编辑配置
jQuery仿excel表格单元格合并插件
apple8160 2017-11-24
  • 打赏
  • 举报
回复

var j={"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var j1=[];
j1.push(j);
scscms太阳光 2017-11-24
  • 打赏
  • 举报
回复
常常谈代码要健壮要健壮,如何健壮?就是同一个需求中,你的代码尽可能适应数据的改变,而不需要改动你的代码!

    var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试",'wx':'键名不可控',wx1:'键名不可控1'};
    var arr = [];
    JSON.stringify(obj).replace(/"([a-z]+)(\d+)?":"(.*?)"/ig, function (s, k, i, v) {
        i = i ? i : 0;
        (arr[i]||(arr[i] = {}))[k] = v;
    });
    console.log(arr);
文盲老顾 2017-11-24
  • 打赏
  • 举报
回复
	var t = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试",'TT2':'yyyy','BB2':'test'}
	var tt = [{}];
	for(var i in t){
		var exists = false
		for (var j in tt[0])
		{
			if (new RegExp('^'+j+'\\d+$','g').test(i))
			{
				if (!tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))])
				{
					tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))]={}
				}
				tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))][j]=t[i];
				exists = true;
			}
		}
		if (!exists)
		{
			tt[0][i] = t[i];
		}
	}
	console.log(tt)

87,922

社区成员

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

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