JSON.parse error on a seemingly valid JSON
本问题已经有最佳答案,请猛点这里访问。
我使用
Chrome说:
1 | Uncaught SyntaxError: Unexpected token o |
萨法里说:
1 | SyntaxError: JSON Parse error: Unexpected identifier"object" |
代码片段如下:
1 2 3 4 5 6 7 | $.get('/foo/' + product_id, function(data){ console.log(data); var product = JSON.parse(data); if (product) { // do something } }); |
JSON是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | { "id":"1b7b3eb7-8769-48fe-a421-64c105de3eff", "parent":null, "org_id":"845d0d53-de68-42c3-9007-c3d0e72c555e", "category_id":"e58237f7-e040-4098-8d46-b84f8cdf7d83", "purchase_tax":null, "sale_tax":null, "code":"982", "name":"Mr. Destin Hoppe", "is_purchased":false, "is_sold":false, "purchase_price":null, "selling_price":null, "purchase_includes_tax":false, "sale_includes_tax":false, "created_at":"2015-09-16 17:39:34", "updated_at":"2015-09-16 17:39:34" } |
有趣的是,
错误是由于
1 | console.log(data["id"]); |
作为这个错误的另一个例子,下面的行也会因为同样的原因而失败。
1 | JSON.parse({}); |