私はlocalstorageに追加したトークンをconsole.logにしようとしています。
ngOnInit(){
console.log("Member Info: ", JSON.parse(localStorage.getItem("LOCAL_TOKEN_KEY")));
}
これは私には正しいように見えますが、実行すると次のエラーが発生します。
Error: Uncaught (in promise): SyntaxError: Unexpected token o in JSON at position 1
SyntaxError: Unexpected token o in JSON at position 1
誰もがこれに間違って何かを参照してください?
回答:
回答№1は2私はあなたのデータがすでにオブジェクトであり、再度解析する必要がないためだと思います。
単にこれを試してみてください:
console.log("Member Info: ", localStorage.getItem("LOCAL_TOKEN_KEY"));
Uncaught SyntaxError:JSONの位置1で予期しないトークンo
すでにJSONオブジェクトである要素をJSONオブジェクトに解析しようとするときの典型的なJavaScriptエラーです。
更新:
LocalStorageに保存するときに問題があると思われますので、ここで頭が上がります!
// 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")));
LocalStorageをクリーニングするには:
ブラウザ(Chromeの場合)でF12キーを押し、[アプリケーション]タブに移動し、[ローカルストレージ]タブを開いてアプリケーション名を選択します。 LocalStorageが見つかると、それを削除します。
回答№2の場合は1
ローカルストレージに格納する前にトークンをストライ化します。
localStorage.setItem("LOCAL_TOKEN_KEY", JSON.stringify({"aa": "bb"}));
let token = localStorage.getItem("LOCAL_TOKEN_KEY");
JSON.parse(token);
回答№3の場合は0
JSONオブジェクトを文字列に変換することもできます。
console.log("Member Info: ", JSON.stringify(localStorage.getItem("LOCAL_TOKEN_KEY")));