Estoy enviando un JSON e intentando acceder a las claves individuales.
Lo he intentado de diferentes maneras mientras tanto.
const jsonData = target.getAttribute('datas'); console.log(jsonData.id); // returns undefined const jsonData = target.getAttribute('datas'); console.log(jsonData[0].id); // returns undefined for(let key of Object.keys(jsonData)) { console.log(key); } // returns every single letter for (const [key, value] of Object.entries(jsonData)) { console.log(`${key}: ${value}`); } // returns every single letterno se porque. No necesito analizar el json. Cada código explica hacerlo igual que una variante mía.
// EDITAR
El JSON:
{"id":"adf6cfce022e4798b11f3ae6bcd8dc0f","manufacturer":"..ö..","productName":"Blue Boat XL","productNumber":"A80801902","worth":[{"currencyId":"b7d2554b0ce847cd82f3ac9bd1c0dfca","net":11.05,"gross":11.9,"linked":false,"listPrice":null,"percentage":null,"regulationPrice":null,"extensions":[]}]}todavía no hay acceso
const jsonData = JSON.parse(target.getAttribute('datas')); console.log(jsonData.id);// LA SOLUCIÓN // análisis doble LMAO
parece que no ha analizado los datos; supongo que jsonData es en realidad una cadena como resultado. Debe usar JSON.parse para convertir la cadena en un objeto.
probar:
const jsonData = JSON.parse(target.getAttribute('datas')); console.log(jsonData);.. y ver lo que obtienes.