后台返回的数据格式:
{\"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"
}