Quiero obtener solo el valor accessToken 123 dentro de Object in value en localStorage. no se como conseguirlo
key : stackoverflow value : { "accessToken": "123", "expiresAt": "2022-07-20T03:13:31.736756085Z", "refreshToken": "456" }Lo he probado yo mismo y no funciona.
console.log(window.localStorage.getItem("stackoverflow", 'accessToken'))¿No es esta la manera de conseguirlo?
El problema aquí es el valor guardado como json , por lo que primero debe analizarlo usando JSON.parse() como este
let parsedData = JSON.parse(window.localStorage.getItem("stackoverflow")) console.log(parsedData.accessToken)Necesita almacenar el objeto como un JSON
// SET localStorage.setItem('stackoverflow', JSON.stringify(stackoverflow));Luego tómalo y analízalo
// GET let stackoverflow = localStorage.getItem('stackoverflow'); stackoverflow = JSON.parse(stackoverflow); Y finalmente puedes obtener la propiedad del objeto stackoverflow
const accessToken = stackoverflow.accessToken;Antes de guardar los datos, debe convertir un objeto en una cadena, porque el almacenamiento local solo admite el tipo de cadena , y cada vez que desee obtener los datos de ese objeto, debe analizar esos datos y luego puede acceder a los datos del objeto.
localStorage.setItem( 'stackoverflow', JSON.stringify({ accessToken: '123', expiresAt: '2022-07-20T03:13:31.736756085Z', refreshToken: '456', }) ); const stackoverflow: any = localStorage.getItem('stackoverflow'); const obj = JSON.parse(stackoverflow); console.log(obj.accessToken);