Tengo un objeto que contiene un código de color HEX proveniente de la API. Lo estoy almacenando como una app en una aplicación vuejs. Ejemplo, const app = {"theme":"{\"color\":\"#186DFFF0\"}"} . Cada vez que intento acceder a la propiedad de color por app.theme.color , me quedo sin definir. Cuando estoy haciendo JSON. parse (aplicación), obtengo un Unexpected token # in JSON at position 1 . ¿Alguna ayuda sobre cómo obtener ese código HEX y almacenarlo en una variable?
const app = {"theme":"{\"color\":\"#186DFFF0\"}"} console.log(app.theme.color)También debe analizar la propiedad anidada.
const app = {"theme":"{\"color\":\"#186DFFF0\"}"} const { theme } = app; const themeParsed = JSON.parse(theme); console.log(themeParsed.color) Esta es una estructura bastante inusual. Sugeriría cambiar lo que sea que lo genere para que el valor del theme sea un objeto simple, en lugar de una cadena.
const app = {"theme":"{\"color\":\"#186DFFF0\"}"}; const jsonString = app?.theme; // returns json string => "{\"color\":\"#186DFFF0\"}" const object = JSON.parse(jsonString); // returns object => { color: "#186DFFF0" } // Get nested color property const color = object?.color; // returns string => "#186DFFF0" // if property "color" doesn't exist in object it gives undefined console.log(color);