前端数据格式转换 使用正则,分割以及字符串与对象之间的转换,将数组处理成自己想要的格式

后台返回的数据格式:

{\"id\":\"dasdasdasdasd232fft3452425ffs\",\"type\":\"aaa\",\"code\":1,\"dataInfo\":\"2022-09-21 16:59:12 xiaoxiao操作\\r\\n\"},{\"id\":\"fdsfssdfdsfsdf13243fsdfs\",\"type\":\"scripts\",\"code\":1}"

最终需要的格式:

{
type: "bbb"
code: 1
id: "dasdasdasdasd232fft3452425ffs"
}
{
type: "aaa"
dataInfo: "2022-09-21 16:59:12 xiaoxiao操作"
code: 1
id: "dasdasdasdasd232fft3452425ffs"
}

处理过程:
1去除特殊字符并且按},分割
a = resp.msg.replace(“\r”, “”).replace(“\n”, “”)
let strA = a.split(“},”)
strA 是一个数组,里面有两个字符串,但是第一个少一个},需要做拼接

strA=[0: "{\"session_id\":\"014a5d6782824705902fb42847f358c9\",\"data_type\":\"test_run_data\",\"return_code\":1,\"processInfo\":\"2022-09-21 17:16:03 数据加载、脚本重新生成和保存完成\""
1: "{\"session_id\":\"014a5d6782824705902fb42847f358c9\",\"data_type\":\"generate_scripts\",\"return_code\":1}]

2:给下标为0 的拼接一个}

let strB = []
                        strA.forEach((item, index) => {
                            let obj = item.replace(/\s+/g, "")
                            if (index === 0) {
                                obj += '}'
                            }
                            strB.push(obj)
                        })

strB格式:

strB=[0: "{\"session_id\":\"014a5d6782824705902fb42847f358c9\",\"data_type\":\"test_run_data\",\"return_code\":1,\"processInfo\":\"2022-09-2117:16:03数据加载、脚本重新生成和保存完成\"}"
1: "{\"session_id\":\"014a5d6782824705902fb42847f358c9\",\"data_type\":\"generate_scripts\",\"return_code\":1}"]

3:遍历然后转成对象

strB.forEach(item => {
                            item = item.replace(/\s+/g, "")
                            var obj = JSON.parse(item);
                            console.log("obj", obj)
                            if (obj["type"] === 'aaa') {
                                console.log(obj["processInfo"])
                            }
                        })

最终结果:

obj={
type: "scripts"
code: 1
id: "dasdasdasdasd232fft3452425ffs"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值