MySQL更新JSON字段报错:JSON文本无效,缺失逗号或}
问题原因与解决方法
报错核心原因是SQL语句中的JSON转义处理错误:
你写的JSON字符串在SQL里是'{"firstName":"jon \"doe\""}',当MySQL解析这个SQL字符串时,会把\"直接解析成",最终传递给JSON解析器的内容变成了{"firstName":"jon "doe""}——这个JSON是无效的,因为jon后面的双引号没有被正确转义,导致JSON结构断裂,触发了"Missing a comma or '}' after an object member"错误。解决方法:
需要在SQL字符串里对反斜杠再做一次转义,也就是用两个反斜杠表示JSON里的一个转义符。修正后的JSON字符串应该写成:'{"firstName":"jon \\"doe\\""}'这样MySQL解析后,传递给JSON解析器的内容就是正确的
{"firstName":"jon \"doe\""},符合JSON格式要求。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

