![](/img/trans.png)
[英]How to handle custom errors from JSON response using JavaScript?
[英]How to handle JSON string errors (error character ") in javascript
管理员已将内容直接填充到数据库中,并将其格式化为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
您可以使用带有RegExp
和g
标志的replace
let str = `"aaaa"dddd"aaaa"`; let result = str.replace(/"/g,`\\\\"`).slice(1,-2) + '"'; console.log(result)
OP询问我的数据库返回结果字符串"aaaa"dddd"aaaa"
,如何分配此类"aaaa"dddd"aaaa"
您可以将从数据库返回的值插入到模板字符串中
let str = `${database.value}`;
但是,不确定服务器端使用什么数据库或哪种语言,而是尝试转义内部引号。 尝试仅用单引号替换第一个和最后一个双引号。 不确定此处是否提供完整的上下文以了解这是否是问题所在。 无论如何,要考虑的事情
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.