バックグラウンドから返されるデータ形式:
{\"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
は 2 つの文字列を含む配列ですが、最初の文字列には } がないため、結合する必要があります。
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 a} を付けて接合を与える
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"
}