我有一个有效的JSON:
{"name":"tono","html":"<p><a href=\"http:\/\/someurl.com\">Here<\/a> is the link<\/p>"}
但是,当我通过javascript解析它时(我使用firefox的控制台)
JSON.parse('{"name":"tono","html":"<p><a href=\"http:\/\/someurl.com\">Here<\/a> is the link<\/p>"}');
我收到此错误
SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1 column 36 of the JSON data
这是预期的行为吗? 以及如何正确解析包含URL的JSON?
只是为了获取更多信息,这个有用:
JSON.parse('{"name":"tono","html":"<p><a href=>Here<\/a> is the link<\/p>"}');
Object { name: "tono", html: "<p><a href=>Here</a> is the link</p>" }
更多信息:
JSON在这里完美解析:http://jsonviewer.stack.hu
答案 0 :(得分:3)
以字符串为单位转义反斜杠,以便按字面意思对它们进行处理。
console.log(JSON.parse('{"name":"tono","html":"<p><a href=\\"http:\\/\\/someurl.com\\">Here<\\/a> is the link<\\/p>"}'));
这里解释了转义正斜杠的原因JSON: why are forward slashes escaped?
答案 1 :(得分:-2)
正如Barmar所解释的那样,你可以逃避这样的反斜杠。
JSON.parse('{"name":"tono","html":"<p><a href=\\"http://someurl.com\\">Here</a> is the link</p>"}');