[英]JSON.parse unexpected character error
我收到此錯誤:
JSON.parse:意外字符
當我在 firebug 中運行此語句時:
JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false});
為什么會這樣? JSON 字符串對我來說似乎是正確的,我還使用 JSHint 對其進行了測試。 上述案例中傳遞的對象是內容類型設置為application/json
的服務器響應
您不是在解析字符串,而是在解析已解析的對象:)
var obj1 = JSON.parse('{"creditBalance":0,...,"starStatus":false}');
// ^ ^
// if you want to parse, the input should be a string
var obj2 = {"creditBalance":0,...,"starStatus":false};
// or just use it directly.
您可以通過簡單地使用JSON.stringify()
來確保有問題的對象在將其傳遞給解析函數之前是字符串化的。
在下面更新了您的行,
JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));
或者如果您將 JSON 存儲在某個變量中:
JSON.parse(JSON.stringify(yourJSONobject));
不是真實的OP,但這個錯誤可以用單引號(引起'
)而不是雙( "
)的字符串。
JSON 規范要求對字符串使用雙引號。
例如:
JSON.parse(`{"myparam": 'myString'}`)
給出錯誤,而
JSON.parse(`{"myparam": "myString"}`)
才不是。 請注意myString
周圍的引號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.