管理员已将内容直接填充到数据库中,并将其格式化为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/

10-11 11:55