javascript - JSON 重组, 求各位大神。
本文介绍了javascript - JSON 重组, 求各位大神。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
问题是:怎样把这个json1, 转换成json2 的格式。。。 急死了, 我们前端不好解析0.0
json1:
var src = {
"title": "限制标题字数",
"desc": "",
"tagInput": "",
"interest": "1",
"fwb": "这是富文本11111",
"goodImg01": "",
"goodTitle01": "富文本1下面礼物名字1",
"goodPrice01": "富文本1下面礼物1的价格",
"goodId01": "富文本1下面礼物1的ID",
"goodImg02": "",
"goodTitle02": "富文本1下面礼物2名字2",
"goodPrice02": "富文本1下面礼物2的价格",
"goodId02": "富文本1下面礼物2的ID",
"goodImg03": "",
"goodTitle03": "富文本1下面礼物3名字",
"goodPrice03": "富文本1下面礼物3的价格",
"goodId03": "富文本1下面礼物3的ID",
"fwb1": "这是富文本2222",
"goodImg11": "",
"goodTitle11": "富文本2下面的礼物名字",
"goodPrice11": "富文本2下面的礼物价格",
"goodId11": "富文本2下面的礼物ID"
}
JSON2:
[{
"fwb": "这是富文本11111",
"good": [{
"goodImg": "",
"goodTitle": "富文本1下面礼物名字1",
"goodPrice": "富文本1下面礼物1的价格",
"goodId": "富文本1下面礼物1的ID"
},
{
"goodImg": "",
"goodTitle": "富文本1下面礼物2名字2",
"goodPrice": "富文本1下面礼物2的价格",
"goodId": "富文本1下面礼物2的ID"
},
{
"goodImg": "",
"goodTitle": "富文本1下面礼物3名字",
"goodPrice": "富文本1下面礼物3的价格",
"goodId": "富文本1下面礼物3的ID"
}
]
},
{
"fwb": "这是富文本2222",
"good": [{
"goodImg": "",
"goodTitle": "富文本2下面礼物名字1",
"goodPrice": "富文本2下面礼物1的价格",
"goodId": "富文本2下面礼物1的ID"
},
{
"goodImg": "",
"goodTitle": "富文本2下面礼物2名字2",
"goodPrice": "富文本2下面礼物2的价格",
"goodId": "富文本2下面礼物2的ID"
},
{
"goodImg": "",
"goodTitle": "富文本2下面礼物3名字",
"goodPrice": "富文本2下面礼物3的价格",
"goodId": "富文本2下面礼物3的ID"
}
]
}
]
解决方案
var srcStr=JSON.stringify(src);
//加fwb
srcStr=srcStr.replace(/("goodId\d{2}":"[^"]*",)("goodImg\d{2}":)/g,'$1"fwb":"",$2');
//自定义一个符号比如::分隔
srcStr=srcStr.replace(/,("fwb[^"]*")/g,'::"fwb"');
srcStr=srcStr.split('::');
var srcRes=[];
var i=1;
var temp={};
//一项一项取就好了
while(srcStr[i]){
srcStr[i]=srcStr[i].replace(/,"([a-zA-Z]+)\d{2}"/g,',"$1"');
srcStr[i]= srcStr[i+1]?('{'+srcStr[i]+'}'):('{'+srcStr[i]);
temp=JSON.parse(srcStr[i]);
temp.mark=i;
srcRes.push(temp);
i++;
}
console.log(srcRes);
这篇关于javascript - JSON 重组, 求各位大神。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文