B4X
B4X
JSON: Array of Objects
See more JSON Examples
Here we have a JSON object that contains an array, where each element in the array is a JSON object. This example demonstrates how to access the objects contained within an array.
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"}
]
}
Chilkat B4X Downloads
Dim success As Boolean = False
Dim json As ChilkatJsonObject
json.Initialize
' This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
' The presence of whitespace chars for pretty-printing makes no difference to the Load
' method.
Dim jsonStr As String = "{" & Chr(34) & "employees" & Chr(34) & ":[{" & Chr(34) & "firstName" & Chr(34) & ":" & Chr(34) & "John" & Chr(34) & ", " & Chr(34) & "lastName" & Chr(34) & ":" & Chr(34) & "Doe" & Chr(34) & "},{" & Chr(34) & "firstName" & Chr(34) & ":" & Chr(34) & "Anna" & Chr(34) & ", " & Chr(34) & "lastName" & Chr(34) & ":" & Chr(34) & "Smith" & Chr(34) & "},{" & Chr(34) & "firstName" & Chr(34) & ":" & Chr(34) & "Peter" & Chr(34) & "," & Chr(34) & "lastName" & Chr(34) & ":" & Chr(34) & "Jones" & Chr(34) & "}]}"
success = json.Load(jsonStr)
If success <> True Then
Log(json.LastErrorText)
Return
End If
' Get the "employees" array.
Dim employees As ChilkatJsonArray = json.ArrayOf("employees")
If json.LastMethodSuccess = False Then
Log("employees member not found.")
Return
End If
' Iterate over each employee, getting the JSON object at each index.
Dim numEmployees As Int = employees.Size
Dim i As Int = 0
Do While i < numEmployees
Dim empObj As ChilkatJsonObject = employees.ObjectAt(i)
Log("employee[" & i & "] = " & empObj.StringOf("firstName") & " " & empObj.StringOf("lastName"))
i = i + 1
Loop