フロントエンドのデータ形式変換では、正規化、セグメンテーション、文字列とオブジェクト間の変換を使用して、配列を必要な形式に処理します。

バックグラウンドから返されるデータ形式:

{\"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"
}

おすすめ

転載: blog.csdn.net/fortunate_leixin/article/details/126976562