Foros del Web » Programando para Internet » Javascript »

Moverse por un objeto de JSON

Estas en el tema de Moverse por un objeto de JSON en el foro de Javascript en Foros del Web. Buenas, me gustaria saber si hay alguna opción tipo Print_r de php para un objeto JSON. Gracias, un saludo....
  #1 (permalink)  
Antiguo 23/12/2015, 03:58
Avatar de javicruzgv  
Fecha de Ingreso: diciembre-2011
Ubicación: Alcoy(Alicante)
Mensajes: 189
Antigüedad: 12 años, 3 meses
Puntos: 2
Moverse por un objeto de JSON

Buenas, me gustaria saber si hay alguna opción tipo Print_r de php para un objeto JSON.

Gracias, un saludo.
__________________
http://www.cruzpyd.com
  #2 (permalink)  
Antiguo 23/12/2015, 10:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Moverse por un objeto de JSON

Para un objeto sencillo, sin niveles internos, te basta con utilizar una estructura cíclica, por ejemplo, la sentencia for...in:
Código Javascript:
Ver original
  1. for (var propiedad in objeto){
  2.     console.log(propiedad, objeto[propiedad]); //Se imprimirá cada propiedad y su valor
  3. }

Pero si el objeto posee niveles internos, es decir, propiedades que contengan a otros objetos y estos a otros de manera sucesiva, lo conveniente es utilizar una función recursiva:
Código Javascript:
Ver original
  1. function print_r(objeto){
  2.     for (var propiedad in objeto){
  3.         if (objeto.hasOwnProperty(propiedad)){
  4.             if (typeof objeto[propiedad] == "object"){
  5.                 print_r(objeto[propiedad]);
  6.             }
  7.             else{
  8.                 console.log(propiedad, objeto[propiedad]);
  9.             }
  10.         }
  11.     }
  12. }

Esa sería una forma básica de hacerlo, pero si quieres que sea más ordenado, identificando el inicio y fin de cada nivel, puedes usar esta función.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: js, json, objeto, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.