管理员已将内容直接填充到数据库中,并将其格式化为json字符串。但是,当从数据库中检索它并将其解析为json时,它失败了。因为直接填充数据时,而不是内容中需要编写此内容(\"
),所以他们只是编写("
)json字符串屏蔽是错误的并且无法解析。如何解决这个问题呢。
例如:
"aaaa"dddd"aaaa" => "aaaa\"dddd\"aaaa"
最佳答案
我假设当您从数据库中检索字符串时,您得到的内容如下:'"aaaa"dddd"aaaa"'
如果是这样,则可以通过删除第一个和最后一个双引号并使用JSON.stringify
将字符串转换为有效的JSON字符串(包括转义内部的双引号)将其转换为有效的JSON字符串。
例如:
const s = '"aaaa"dddd"aaaa"';
let escaped = JSON.stringify(s.slice(1, -1));
console.log(escaped);
// "aaaa\"dddd\"aaaa"
let parsed = JSON.parse(escaped);
console.log(parsed);
// aaaa"dddd"aaaa
关于javascript - 如何在JavaScript中处理JSON字符串错误(错误字符“”),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55113643/