JSON:解析时出错

时间:2015-04-04 05:05:37

标签: javascript json

我发现以下JSON(有效)刺痛。

[["abc","{\"icon\":\"adjust\",\"prefix\":\"fa\",\"markerColor\":\"red\"}"],["xyz","{\"icon\":\"archive\",\"prefix\":\"fa\",\"markerColor\":\"green\"}"],["azs","{\"icon\":\"asterisk\",\"prefix\":\"fa\",\"markerColor\":\"darkred\"}"]]

当我尝试使用JSON.parse函数进行解析时,它会出错 这是我用于解析的代码。

JSON.parse('[["abc","{\"icon\":\"adjust\",\"prefix\":\"fa\",\"markerColor\":\"red\"}"],["xyz","{\"icon\":\"archive\",\"prefix\":\"fa\",\"markerColor\":\"green\"}"],["azs","{\"icon\":\"asterisk\",\"prefix\":\"fa\",\"markerColor\":\"darkred\"}"]]');

并在控制台Uncaught SyntaxError: Unexpected token i

中出错

这是使用在线JSON查看器的相同字符串的正确输出。 Correct Output by same string using online JSON viewer

2 个答案:

答案 0 :(得分:1)

当您使用JSON查看器时,它与您在JS代码中使用代码的时间不同。就像@Jonathan所说,你应该双重逃脱你的json sting。



JSON.parse('[["abc","{\\"icon\\":\\"adjust\\",\\"prefix\\":\\"fa\\",\\"markerColor\\":\\"red\\"}"],["xyz","{\\"icon\\":\\"archive\\",\\"prefix\\":\\"fa\\",\\"markerColor\\":\\"green\\"}"],["azs","{\\"icon\\":\\"asterisk\\",\\"prefix\\":\\"fa\\",\\"markerColor\\":\\"darkred\\"}"]]');




答案 1 :(得分:0)

您的json结构无效。你应该使用它(没有斜杠):

  '[["abc",["icon":"adjust","prefix":"fa","markerColor":"red"]],["xyz",["icon":"archive","prefix":"fa","markerColor":"green"]],["azs",["icon":"asterisk","prefix":"fa","markerColor":"darkred"]]'