解析此字符串我收到意外的令牌错误,意外的令牌是什么?
JSON.parse("[{"attr1":079455,"Attr2": 3},{"Attr1":847987,"Attr2": 3}]");
我一直在查看here文档,但我还没看到这个字符串有什么问题?我已尝试过各种字符串化并用单个等号替换双引号。
答案 0 :(得分:0)
JSON格式不允许数字上的前导零,除了0
的特殊情况或以0.
开头的浮点数。请参阅显示http://www.json.org/处数字格式的图表。
因此数字079455
无效JSON。
您应该首先修复生成JSON的程序。它应该使用库函数来生成JSON,而不是手动格式化。
如果你不能,你可以使用以下笨拙的Javascript删除无关的零:
json_str = json_str.replace(/":0+/, '":');
答案 1 :(得分:0)
除了错误的数字格式之外,您还没有正确包装String。如果要在字符串中包含"
个字符,则应使用'
包装它:
JSON.parse('[{"attr1":79455,"Attr2": 3},{"Attr1":847987,"Attr2": 3}]');