簡體   English   中英

帶有意外令牌的JSON.parse字符串

[英]JSON.parse string with unexpected token

解析此字符串時,我收到意外的令牌錯誤,什么是意外的令牌?

JSON.parse("​[{"attr1":079455,"Attr2": 3},{"Attr1":847987​​,"Attr2": 3}]​​​");

我一直在這里查看文檔,但我只是看不到此字符串有什么問題? 我已經嘗試過各種將單引號括起來並替換雙引號的方法。

JSON格式不允許數字上的前導零,但特殊情況下為0或以0.開頭的浮點數除外。 請參閱http://www.json.org/上顯示數字格式的圖。

因此數字079455是無效的JSON。

您應該首先修復生成JSON的程序。 它應該使用庫函數來生成JSON,而不是手工格式化。

如果不能,則可以使用以下笨拙的Javascript刪除多余的零:

json_str = json_str.replace(/":0+/, '":');

以及不正確的數字格式,您沒有正確包裝字符串。 如果要在字符串中包含"字符,則應使用'

JSON.parse('[{"attr1":79455,"Attr2": 3},{"Attr1":847987,"Attr2": 3}]');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM