我有这个:
JSON.parse('{"130.00000001":{"p_cod":"130.00000001","value":"130.00000001 HDD Upgrade to 2x 250GB HDD 2.5\" SATA2 7200rpm"}}');
JSONLint说这是完全有效的json。但是在执行时我遇到JSON.parse
错误。
但是,如果我将我的代码更改为:
JSON.parse('{"130.00000001":{"p_cod":"130.00000001","value":"130.00000001 HDD Upgrade to 2x 250GB HDD 2.5\\" SATA2 7200rpm"}}');
(注意双反斜杠)
它有效,但现在JSONLint说invalid json
。
有人可以帮助理解这种行为吗?
答案 0 :(得分:18)
这是有线格式之间的区别,以及您需要在代码中编写以获取有线格式的内容。当你在代码中声明这个时,你需要在你的文字中加上双\,所以字符串得到一个反斜杠(否则它将解释\“作为一个转义序列,只是声明一个”并把它放在你的字符串中)。如果您打印出文字的值,您将看到一个反斜杠。