jueves, 1 de agosto de 2019

Obtener la longitud de un objeto JSON

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

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:



JSON.parse(JSON.stringify(matriz1))

Espero te sirva la información.

Saludos