我正试图用两个\
替换一个反斜杠,但是我的双引号不起作用。
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»"