替换字符,反斜杠和双引号注意完全工作



我正试图用两个\替换一个反斜杠,但是我的双引号不起作用。

var json = {
"DateToday": "2021-08-11",
"MetaData": [
{
"id": "222",            
"nameUsed": " "data" somemorefillerdata» - somemorefillerdata «somemorefillerdata»",
"type": "movies"
}
]
}
let newJson = JSON.stringify(json)
let newnewJson = newJson.replace(/\"/g, "\\");
let newnewnewJson = JSON.parse(newnewJson)
console.log(newnewnewJson)

所以这种工作但是我的输出不包括引号它看起来像这样-

{
DateToday: '2021-08-11',
MetaData: [
{
id: '222',
nameUsed: ' \data\ somemorefillerdata» - somemorefillerdata «somemorefillerdata»',
type: 'movies'
}
]
}

我不认为用\代替有什么用。这里的起点是对象字面量。然后对其进行字符串化,返回预期的结果。然后再次解析为对象,返回预期的结果。

var jsonObj = {
DateToday: "2021-08-11",
MetaData: [{
id: 222,
nameUsed: " "data" somemorefillerdata» - somemorefillerdata «somemorefillerdata»",
type: "movies"
}]
};
let jsonStr = JSON.stringify(jsonObj)
console.log(jsonStr);
let newJsonObj = JSON.parse(jsonStr)
console.log(newJsonObj.MetaData[0].nameUsed)

如果您需要添加一个,则替换这一行:

let newnewJson = newJson.replace(/\"/g, `\\\\`);

正如我从问题中理解的那样,你试图得到这个输出:

" \data\ somemorefillerdata» - somemorefillerdata «somemorefillerdata»"

之前是:

" data somemorefillerdata» - somemorefillerdata «somemorefillerdata»"

相关内容

  • 没有找到相关文章

最新更新