我正在尝试使用与此类似的对象的 JSON.parse 来解析json对象:
{"id":3,"status_id":3,"project_class":"B","project_name":"Magic i-S6/" i-F1"}
问题突出为“Magic i-S6 /”作为 project_name
的值它正在返回像这样的错误
Uncaught SyntaxError:位于102位的JSON中的意外标记i
我尝试过使用
str.replace(/"/g, '\\"');
但它不起作用。
我该怎么做才能防止此错误?
答案 0 :(得分:3)
str.replace(/"/g, '\\"');
将使用转义符号替换JSON中的所有引号:甚至是在JSON中分隔字符串所需的引号。
您应该通过更改生成损坏的JSON的代码来解决此问题。
接收之后尝试修复永远不可靠。
您可以尝试在特定的JSON字符串中定位坏数据的特定位...
str = str.replace('i-S6/"', 'i-S6\\"');
......但这不是一个强大的或一般的解决方案。
修复生成错误数据的错误代码是更好的方法。