javascript - 正则表达式替换 json 中的双引号

标签 javascript regex

是否有可能在像这样的情况下替换双引号 ""something"",在 json 中,空值可能是 case("somthingElse":"")?

我尝试使用 str = str.replace(/\""/g, '"' ),但是这个替换了我的 json 中的空值,我得到了语法错误。

示例:{"name":"name","price":"","job":""Developer""}

结果:{"name":"name","price":","job":"Developer"}

最佳答案

这是不可能解析的,因为语法不明确,结果可以用两种不同的方式解释。如果我们将示例中的 Developer 替换为手工制作的值 "", "Developer":"" 我们会得到:

{"name":"name","price":"","job":"", "Developer":""}

这意味着 developer 是一个字段。所以除非你能保证 " 没有出现在字符串中,否则语法是不明确的。

改为修复后端 :)

如果我不得不猜测您的后端是手工制作的 JSON,我还没有看到这比使用序列化库更可取的情况。

关于javascript - 正则表达式替换 json 中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32352474/

相关文章:

Python 正则表达式 - 字符串中的可选字段

javascript - iOS Safari/Chrome 中的 Cookie 持久性

访问实例方法时的 JavaScript OO 问题

javascript - 为什么图像不出现在我的文本字段中

regex - elasticsearch span_near查询错误命中

Javascript替换每个字符串的第一个字母?

json - 如何将双引号中的内容与 golang 中的正则表达式进行匹配?

php - Jquery form.submit 在 IE9 中不发布任何内容

javascript - masonry 布局问题

regex - Bash:提取文件名的数量以移动到编号正确的目录中