转义JSON以避免更改插入string

我有下面的jsonstring,应该直接插入到一个列中的数据库中:

const jsString = JSON.stringify({"escaping":"d\"on't"}); const insertion = [{"a":2,"json":jsString}]; const query = pgp.helpers.insert(insertion,["a","json"],"tbl"); 

然而实际上结果在数据库中的是:

 {"escaping":"d"on't"} 

删除在\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'

这将是有益的,因为如果我的有效json仍然如此,那将是很好的。

       

网上收集的解决方案 "转义JSON以避免更改插入string"

  1. 不要将数据串入到JSON中,直接使用它
  2. 将列格式设置为JSON,使用:json修饰符
 const data = {escaping: "d\"on't"}; const insertion = [{a:2, json:data}]; const query = pgp.helpers.insert(insertion, ["a", "json:json"], "tbl"); 

js const jsString = JSON.stringify({"escaping":"d\\\"on't"});这个stringconst jsString = JSON.stringify({"escaping":"d\\\"on't"});会导致这个{"escaping":"d\\\"on't"}

而在js const jsString = JSON.stringify({"escaping":"don't"});这个stringconst jsString = JSON.stringify({"escaping":"don't"}); 会导致这个{"escaping":"don't"}