I have an error when I read Json file if a key is null. if 37 key exist, it works
can someone help me? Thanks!!
this is my json file:
This in my code:
B4X:
Sub ParseEvents
Dim parser As JSONParser
parser.Initialize(IncomingJSONText)
Dim root As List = parser.NextArray
Dim conta As Int = root.Size
listaP.Initialize
listaP.Clear
For Each colroot As Map In root
nome = colroot.Get("nome")
cftp = colroot.Get("Foto")
codice = colroot.Get("id")
elenco.AddSingleLine(nome)
listaP.Add(codice)
Next
End Sub
The problem is that with your for next loop you automatically assume that every list item is a Map, which is not true in your case.
Try:
B4X:
Sub ParseEvents
Dim parser As JSONParser
parser.Initialize(IncomingJSONText)
Dim root As List = parser.NextArray
Dim conta As Int = root.Size
listaP.Initialize
listaP.Clear
Dim colitem As Map
For Each colroot As Object In root
If (colroot <> Null) And GetType(colroot).EndsWith("Map") Then
colitem = colroot
nome = colitem.Get("nome")
cftp = colitem.Get("Foto")
codice = colitem.Get("id")
elenco.AddSingleLine(nome)
listaP.Add(codice)
End If
Next
End Sub