是否有可能在像这样的情况下替换双引号 ""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/