一尘不染

带有引号的JSON.parse字符串

json

我有这个:

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

有人可以帮助您了解这种行为吗?


阅读 192

收藏
2020-07-27

共1个答案

一尘不染

有线格式和您必须在代码中编写的格式之间是有区别的。当您在代码中声明此代码时,您需要在文字中使用双-\,以便字符串获得一个反斜杠(否则,它将\\解释为一个转义序列,仅声明一个“并将其放入您的字符串中)。如果打印出文字的值,则会看到一个反斜杠。

2020-07-27