Sample code for 30+ languages & platforms
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

B4X
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