¿Cómo obtengo datos de JSON con varias {}?

  • 4 Respuestas
  • 516 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 132
  • Actividad:
    6.67%
  • Reputación 0
  • belial grimoire
    • Ver Perfil

¿Cómo obtengo datos de JSON con varias {}?

  • en: Abril 26, 2021, 04:29:44 pm
Hola

Una pregunta, ¿cómo puedo avanzar en JSON para obtener ciertos datos?. Por ejemplo, cuando tengo algo así...

Código: (csharp) [Seleccionar]
{
  nombre: juan,
  apellido: penas,

}

pues solo es colocar  JsonUtility.FromJson y un string Serializable con nombre y apellido;

si tengo algo así...


Código: (csharp) [Seleccionar]
{
  nombre: juan,
  apellido: [{
        primero: penas,
        segundo: y penas,
}]
}

ahora es necesario usar un List para apellido e ir colocando dentro los datos de "primero y segundo" y luego con foreach voy retomando esos datos para mostrarlos.

pero, ¿cómo obtengo los datos de la lista de JSON, si es así?

Código: (csharp) [Seleccionar]
{
  nombre: juan,
  apellidos: {
        primero: penas,
        segundo: y penas,
    }
}

quisiera poner en un TextBox los datos de "primero y segundo", pero, ¿cómo avanzo de la primer llave a la segunda para tomar los datos?.

Lo estoy programando en C#, estoy aprendiendo a usar ese lenguaje y se me hizo interesante hacerlo con json.

Saludos.

Conectado DtxdF

  • *
  • Moderator
  • Mensajes: 935
  • Actividad:
    96.67%
  • Country: 00
  • Reputación 19
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Re: ¿Cómo obtengo datos de JSON con varias {}?

  • en: Abril 26, 2021, 07:22:47 pm
Hola @proxy_lainux  ;D

No tengo idea de C#, pero por si te sirve: si quieres acceder a primero o segundo entonces tendrías que acceder primero a apellidos, o sea, debes verlo de una manera recursiva, pero ya depende de la interfaz. Para mostrarte un ejemplo y espero sea simple.

Teniendo el siguiente archivo json:

juan.json
Código: (javascript) [Seleccionar]
{
  "nombre": "Juan",
  "apellidos": {
    "primero": "penas",
    "segundo": "y penas"
  }
}

Entonces en Python podríamos hacer lo siguiente:
Código: (python) [Seleccionar]
#!/usr/local/bin/python3.7

import json # Se importa la librería JSON

with open("juan.json") as fd: # Abrimos el archivo juan.json
profileJuan = json.load(fd) # Se parsea y se convierte en un diccionario al que podemos acceder por su clave correspondiente

print("Apellidos:", profileJuan["apellidos"]) # Accedemos a la clave apellidos
print("Primero:", profileJuan["apellidos"]["primero"]) # Accedemos a la clave primero que está en el diccionario apellidos
print("Segundo:", profileJuan["apellidos"]["segundo"]) # Accedemos a la clave segundo que está en el diccionario apellidos

Como te mencioné, todo depende de la interfaz y cómo el lenguaje interactúe con los datos procesados. Hay una utilidad muy buena llamada jq, que permite parsear e incluso imprimir de una manera más amigable en la terminal, archivos JSON, por lo que dado el mismo archivo juan.json:

Código: (bash) [Seleccionar]
cat juan.json | jq --args .apellidos
cat juan.json | jq --args .apellidos.primero
cat juan.json | jq --args .apellidos.segundo

Se imprimiría:


~ DtxdF
« Última modificación: Abril 27, 2021, 01:25:12 am por DtxdF »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

Desconectado proxy_lainux

  • *
  • Underc0der
  • Mensajes: 132
  • Actividad:
    6.67%
  • Reputación 0
  • belial grimoire
    • Ver Perfil

Re: ¿Cómo obtengo datos de JSON con varias {}?

  • en: Abril 26, 2021, 09:15:28 pm
Ok, voy a investigar lo que mencionas, al menos ya me diste una idea de que debo buscar, voy a hacer lo que me mencionas a ver como me va, sino, pues tendré que volver a preguntar jeje.

Gracias.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5717
  • Actividad:
    100%
  • Country: ar
  • Reputación 38
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Re: ¿Cómo obtengo datos de JSON con varias {}?

  • en: Abril 30, 2021, 10:57:09 am
@proxy_lainux pudiste solucionarlo?
Para ver si marcamos el tema como resuelto o si te seguimos ayudando.

Saludos,
ANTRAX


Desconectado Rokwitte

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    16.67%
  • Country: 00
  • Reputación 0
    • Ver Perfil
    • Email

Re: ¿Cómo obtengo datos de JSON con varias {}?

  • en: Abril 30, 2021, 01:57:08 pm
Amigo creo que la solución que estas buscando puede ser como se explica en esta pagina.
https://www.w3schools.com/js/js_json_arrays.asp
espero te ayude.
saludos