/ / Nie można przeanalizować localstorage angular 2 - kątowy, local-storage

Nie można przeanalizować lokalnego położenia kątowego 2 - kątowe, lokalne przechowywanie

Próbuję konsoli.logować token dodany do localstorage. Oto kod:

  ngOnInit(){
console.log("Member Info: ", JSON.parse(localStorage.getItem("LOCAL_TOKEN_KEY")));
}

Wydaje mi się to właściwe, ale po uruchomieniu pojawia się następujący błąd.

Error: Uncaught (in promise): SyntaxError: Unexpected token o in JSON at position 1
SyntaxError: Unexpected token o in JSON at position 1

Czy ktoś widzi w tym coś złego?

Odpowiedzi:

2 dla odpowiedzi № 1

Wierzę, że dzieje się tak, ponieważ Twoje dane są już Obiektem i nie trzeba ich ponownie analizować.

Po prostu spróbuj tego:

console.log("Member Info: ", localStorage.getItem("LOCAL_TOKEN_KEY"));

Uncaught SyntaxError: nieoczekiwany token w JSON na pozycji 1

Jest typowym błędem JavaScript, gdy próbujesz parsować obiekt JSON jako element, który jest już obiektem JSON.

Aktualizacja:

Wydaje się, że masz problemy z zapisywaniem w LocalStorage, więc proszę bardzo!

   // To save to LocalStorage
localStorage.setItem("LOCAL_TOKEN_KEY", JSON.stringify({
testData: 123
}));

// To read from LocalStorage
console.log(JSON.parse(localStorage.getItem("LOCAL_TOKEN_KEY")));

Aby wyczyścić LocalStorage:

Naciśnij klawisz F12 w przeglądarce (w przeglądarce Chrome), przejdź do karty Aplikacja, otwórz kartę LocalStorage i wybierz nazwę aplikacji. Znajdziesz tam swój LocalStorage, usuń go.


1 dla odpowiedzi nr 2

Zmodyfikuj token przed zapisaniem w pamięci lokalnej.

localStorage.setItem("LOCAL_TOKEN_KEY", JSON.stringify({"aa": "bb"}));
let token = localStorage.getItem("LOCAL_TOKEN_KEY");
JSON.parse(token);

0 dla odpowiedzi № 3

możesz także spróbować przekształcić obiekt JSON w ciąg:

console.log("Member Info: ", JSON.stringify(localStorage.getItem("LOCAL_TOKEN_KEY")));