Obtener la longitud de un objeto JSON
Obtener la longitud o número de elementos dentro de un objeto JSON se obtiene tomando en cuenta el número de claves en el objeto y eso se obtiene con:
Object.keys(Object).length;
Ejemplo:
<script>
var matriz1 = {'nombre':'Juan','paterno':'Perez','materno':'Perez'};
function longitudJSON(matriz){
var n_elementos = Object.keys(matriz).length;
return n_elementos;
}
console.log("Total: "+longitudJSON(matriz1));
</script>
Lo cual imprime en la consola:
Total: 3
Saludos
jueves, 1 de agosto de 2019
Obtener la longitud de un objeto JSON
Uso de JSON.stringify y JSON.parser
Desarrollando una pequeña aplicación de un formulario que recuperaba los datos a través de una función y lo pasaba a otra me encontraba que no podia ver o usar el objeto que tenia. Además, al querer ver los datos con el console log me daba error
SyntaxError: Unexpected token o in JSON at position 1
y no podia recuperar los datos.
Resulta ser que aplicaba mal el uso de datos las funciones
JSON.stringify y JSON.parse
Cuando nosotros usamos JSON.stringify convertimos al obj JSON en string y,
JSON.parse lo regresa a ser un Object.
por ejemplo, si creas un objeto
var matriz1 = {};
matriz1.a = 9
y aplicas
console.log(matriz1);
obtienes
[object Object]
pero
console.log(matriz1.a)
te da
9
Si aplicas
console.log(JSON.stringify(matriz1))
imprime
{"a":9}
De tal manera que aplicar un JSON.stringify en un paso previo requiere regresar los datos a su formato de objeto con JSON.parse en un paso futuro para su uso adecuado.
Ahora bien, se puede dar el caso de que los datos que obtienes de algún origen no vengan formateados, entonces, tenemos que convertir en string los datos y luego parsearlos. Por ejemplo:
SyntaxError: Unexpected token o in JSON at position 1
y no podia recuperar los datos.
Resulta ser que aplicaba mal el uso de datos las funciones
JSON.stringify y JSON.parse
Cuando nosotros usamos JSON.stringify convertimos al obj JSON en string y,
JSON.parse lo regresa a ser un Object.
por ejemplo, si creas un objeto
var matriz1 = {};
matriz1.a = 9
y aplicas
console.log(matriz1);
obtienes
[object Object]
pero
console.log(matriz1.a)
te da
9
Si aplicas
console.log(JSON.stringify(matriz1))
imprime
{"a":9}
De tal manera que aplicar un JSON.stringify en un paso previo requiere regresar los datos a su formato de objeto con JSON.parse en un paso futuro para su uso adecuado.
Ahora bien, se puede dar el caso de que los datos que obtienes de algún origen no vengan formateados, entonces, tenemos que convertir en string los datos y luego parsearlos. Por ejemplo:
JSON.parse(JSON.stringify(matriz1))
Espero te sirva la información.
Saludos
Etiquetas:
javascript,
json,
object,
parse,
stringify
Suscribirse a:
Entradas (Atom)