Spanish [Resuelto]¿Cómo leer nodo interno de arreglo json?[b4a]

pacoMx

Member
Licensed User
Longtime User
Hola, usando el json viewer me da la siguiente esctructura:

B4X:
Dim parser As JSONParser
        parser.Initialize(j.GetString)
        Dim Root As List = parser.NextArray
        For Each colroot As Map In Root
            Dim password As String = colroot.Get("password")
            Dim tel As String = colroot.Get("tel")
            Dim id As Int = colroot.Get("id")
            Dim telContacto As String = colroot.Get("telContacto")
            Dim nombre As String = colroot.Get("nombre")
            Dim email As String = colroot.Get("email")
            Dim f_nacimiento As String = colroot.Get("f_nacimiento")
            'Log(nombre) 'ok, se lee correcto
        Next
        Log("data 1 es: "&Root.Get(0))
        Log("data 2 es: "&Root.Get(1))

El dato en Root.Get(0) es algo como:
JSON:
{id=1, nombre=Juán Pérez, [email protected], password=password, tel=000, telContacto=000, f_nacimiento=2000-08-01}
Pero me gustaría poder obtener el nombre, algo así como:
Root.Get(0).nombre
o tipo Root.Get(0).Get("nombre")
pero no encuentro el modo correcto para hacerlo.

Gracias.
 

TILogistic

Expert
Licensed User
Longtime User
No se como es la estructura de tu json que rescatas, pero para hacerlo mas sencillo puedes utilizar lo nuevo de B4X.


No PROBADO
B4X:
'opcion 1

j.GetString.As(JSON).ToList.As(Map).Get("nombre") 'ignore

´opcion 2

Root.Get(0).As(Map).Get("nombre")
 

drgottjr

Expert
Licensed User
Longtime User
la frase clave:
B4X:
    Dim nombre As String = Root.Get(0).As(Map).Get("nombre")
 

Attachments

  • juanperez.PNG
    juanperez.PNG
    20.5 KB · Views: 96

pacoMx

Member
Licensed User
Longtime User
Muchas gracias, este ha funcionado a la perfección :
B4X:
Dim nombre As String = Root.Get(0).As(Map).Get("nombre")

Y disculpen la tardanza, no me aparece la campanita por default.
 
Top