¿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 2 Visitantes 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 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, 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.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login 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.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
espero te ayude.
saludos