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

Iniciado por proxy_lainux, Abril 26, 2021, 04:29:44 PM

Tema anterior - Siguiente tema

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

Hola

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

Código: csharp
{
  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
{
  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

{
  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.

Abril 26, 2021, 07:22:47 PM #1 Ultima modificación: Abril 27, 2021, 01:25:12 AM por DtxdF
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
{
  "nombre": "Juan",
  "apellidos": {
    "primero": "penas",
    "segundo": "y penas"
  }
}


Entonces en Python podríamos hacer lo siguiente:
Código: python
#!/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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, 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
cat juan.json | jq --args .apellidos
cat juan.json | jq --args .apellidos.primero
cat juan.json | jq --args .apellidos.segundo


Se imprimiría:


~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

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.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pudiste solucionarlo?
Para ver si marcamos el tema como resuelto o si te seguimos ayudando.

Saludos,
ANTRAX


Amigo creo que la solución que estas buscando puede ser como se explica en esta pagina.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
espero te ayude.
saludos