Hola a todos.
Estoy tratando en aprender como parsear json
Sé que algo dentro de corchetes cuadrados es un Objeto. Algo dentro de corchetes es un Array. Un objeto puede contener otros objetos y arrays, y un Array puede contener otros arrays y objetos. ¿O era al contrario? ;-)
Sé que lo primero que hay hacer es inicializar el objeto json con la cadena a parcear.
Lo primero que intentaré hacer es obtener es el 'success' para saber si es 'true' o 'false' y luego los datos de Bid, Ask y Last de este texto:
{"success":true,"message":"","result":{"Bid":0.01157113,"Ask":0.01158113,"Last":0.01158113}}
Lo he obtenido de
https://bittrex.com/api/v1.1/public/getticker?market=BTC-LTC
La primera parte del código de b4a es esta:
Dim json As JSONParser
Dim texto as String
Dim m as Map
dim Items as List
'Por ahora el texto lo cargo directo desde un archivo
texto = File.ReadString(File.DirAssets, "data.txt")
'Inicializo el json
json.Initialize(texto)
'Recupero el primer y único objeto
m = json.NextObject
'guardo los datos de 'result' en una lista
Items = m.Get("result")
Y hasta aquí llegué.
Para empezar el código no funciona. al ejecutarlo el programa se cierra.
He leído el tutorial
https://www.b4x.com/android/forum/threads/android-json-tutorial.6923/ Pero mi ingles es pésimo y con el traductor la cosa no mejora. También mire este tutorial
http://kio4.com/b4a/30Bjson.htm pero sigo sin entender del todo como parsear.
¿Alguien me podría explicar de forma sencilla como recorrer un json?
Necesito obtener los datos de Bid, Ask y Last y ponerlos en una lista. Para luego guardar los datos de Bid, Ask y Last en tres variables con los mismos nombres. No sé si me puedo evitar el paso de enviar los datos a una lista.
Saludes