Otrzymuję ten błąd:
JSON.parse: nieoczekiwany znak
kiedy uruchamiam tę instrukcję w programie firebug:
JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false});
Dlaczego tak się dzieje? Ciąg JSON wydaje mi się poprawny i przetestowałem go również za pomocą JSHint. Przekazany obiekt w powyższym przypadku jest odpowiedzią serwera z ustawionym typem zawartościapplication/json
javascript
json
krishna
źródło
źródło
Możesz upewnić się, że dany obiekt został zdefiniowany przed przekazaniem go do funkcji parsowania, po prostu używając
JSON.stringify()
.Zaktualizowałem swoją linię poniżej,
JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));
lub jeśli masz JSON zapisany w jakiejś zmiennej:
źródło
Nieprawda dla OP, ale ten błąd może być spowodowany użyciem pojedynczych cudzysłowów (
'
) zamiast double ("
) dla łańcuchów.Specyfikacja JSON wymaga podwójnych cudzysłowów dla ciągów.
Na przykład:
podaje błąd, podczas gdy
nie. Zwróć uwagę na cudzysłowy wokół
myString
.Powiązane: https://stackoverflow.com/a/14355724/1461850
źródło