簡體   English   中英

JSON.parse 意外字符錯誤

[英]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周圍的引號。

相關: https : //stackoverflow.com/a/14355724/1461850

暫無
暫無

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

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