Hola a todos
Tengo dos códigos distintos, de hecho más, en una misma función para procesar datos que recibo por json
Esta es la función:
Como habrán notado en el primer bloque la variable 'result' esta definida como 'Map' y más abajo, 'result' esta definida como 'List', lo cual causa que el compilador se queje.
¿Es posible arreglar el código de tal forma que las declaraciones coexistan o debo crear una función para cada caso? ¿O es mejor separar el código en funciones? El problema es que aun debo procesar otros datos que le llegaran por jSon a la aplicación.
¿Como puedo solucionar el problema de una forma correcta?
Tengo dos códigos distintos, de hecho más, en una misma función para procesar datos que recibo por json
Esta es la función:
B4X:
Private Sub jobDone (job As HttpJob)
'Log(job.Success)
'Log(job.GetString)
Dim Recibido As String
If(job.Success) Then
If(job.JobName == x_Currency)Then
Recibido = job.GetString
If (Recibido.Contains("true") == True) Then
Dim parser As JSONParser
parser.Initialize(Recibido)
Dim root As Map = parser.NextObject
Dim result As Map = root.Get("result")
Dim Last As Double = result.Get("Last")
Dim Ask As Double = result.Get("Ask")
x_askNow = Ask
Dim Bid As Double = result.Get("Bid")
x_bidNow = Bid
If(x_ValorAlIniciar == 0) Then
x_ValorAlIniciar = x_bidNow
End If
Dim success As String = root.Get("success")
Dim message As String = root.Get("message")
End If
End If
If(job.JobName == "OrderBookBuy")Then
Recibido = job.GetString
x_BuyRate = 0
If (Recibido.Contains("true") == True) Then
Dim parser As JSONParser
parser.Initialize(Recibido)
Dim root As Map = parser.NextObject
Dim result As List = root.Get("result")
For Each colresult As Map In result
Dim Rate As Double = colresult.Get("Rate")
If(x_BuyRate < Rate) Then
x_BuyQuantity = Rate
End If
Dim Quantity As Double = colresult.Get("Quantity")
Next
Dim success As String = root.Get("success")
Dim message As String = root.Get("message")
End If
End If
Else
Log(job.ErrorMessage & "/" & LastException)
End If
job.Release
End Sub
Como habrán notado en el primer bloque la variable 'result' esta definida como 'Map' y más abajo, 'result' esta definida como 'List', lo cual causa que el compilador se queje.
¿Es posible arreglar el código de tal forma que las declaraciones coexistan o debo crear una función para cada caso? ¿O es mejor separar el código en funciones? El problema es que aun debo procesar otros datos que le llegaran por jSon a la aplicación.
¿Como puedo solucionar el problema de una forma correcta?