Solución:
El JSON que publicó se ve bien, sin embargo, en su código, lo más probable es que ya no sea una cadena JSON, sino que ya sea un objeto JavaScript. Esto significa que no es necesario analizar más.
Puede probar esto usted mismo, por ejemplo, en la consola de Chrome:
new Object().toString()
// "[object Object]"
JSON.parse(new Object())
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse("[object Object]")
// Uncaught SyntaxError: Unexpected token o in JSON at position 1
JSON.parse()
convierte la entrada en una cadena. los toString()
método de objetos JavaScript por defecto devuelve [object Object]
, resultando en el comportamiento observado.
En su lugar, intente lo siguiente:
var newData = userData.data.userList;
los primeros parámetros de función JSON.parse
debe ser una cadena, y sus datos son un objeto de JavaScript, por lo que se convertirá en una cadena [object object]
, Deberías usar JSON.stringify
antes de pasar los datos
JSON.parse(JSON.stringify(userData))
Nunca uses JSON.parse
sin envolverlo en try-catch
cuadra:
// payload
let userData = null;
try {
// Parse a JSON
userData = JSON.parse(payload);
} catch (e) {
// You can read e for more info
// Let's assume the error is that we already have parsed the payload
// So just return that
userData = payload;
}
// Now userData is the parsed result
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)