プロジェクトで問題が発生しました。フロントエンドはバックグラウンドから返された json 文字列を json オブジェクトに変換する必要がありますが、バックグラウンドから返された文字列にはエスケープ文字が含まれています: \ "
まず問題を特定する
JSON.parse() パラメータは文字列型である必要があります
渡されたパラメータはオブジェクト型であるため、JSON.parse() はデフォルトでオブジェクト型を文字列に変換し、結果は「[object object]」になります。
2. 文字列であるにもかかわらずエスケープされてエラーが報告される場合は、エスケープ文字などのエスケープできない理由が考えられます。最後に、インターネット上にある方法は次のように処理できます。
var json = eval('(' + data + ')');
ただし、eslint 形式では、eval 関数は次の警告を報告します: eval は有害です
最適化:
jsonEval (fn) {
var Fun = Function // 一个变量指向Function,防止有些前端编译工具报错
return new Fun('return ' + fn)()
},
let str = this.jsonEval(res.data.TargetText)
これで解決します。