Sample code for 30+ languages & platforms
DataFlex

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    String sStrJsonArray
    String sStrJsonObject
    Handle hoJsonArray
    Boolean iSuccess
    Integer i
    Variant vJsonObj
    Handle hoJsonObj
    Handle hoJsonObject
    Integer iNumPets
    String sTemp1

    Move '[{"name":"jack"},{"name":"john"},{"name":"joe"}]' To sStrJsonArray

    Move '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}' To sStrJsonObject

    // A JSON array must be loaded using JsonArray:
    Get Create (RefClass(cComChilkatJsonArray)) To hoJsonArray
    If (Not(IsComObjectCreated(hoJsonArray))) Begin
        Send CreateComObject of hoJsonArray
    End
    Get ComLoad Of hoJsonArray sStrJsonArray To iSuccess

    // Examine the values:
    Move 0 To i
    While (i < (ComSize(hoJsonArray)))
        Get ComObjectAt Of hoJsonArray i To vJsonObj
        If (IsComObject(vJsonObj)) Begin
            Get Create (RefClass(cComChilkatJsonObject)) To hoJsonObj
            Set pvComObject Of hoJsonObj To vJsonObj
        End
        Get ComStringOf Of hoJsonObj "name" To sTemp1
        Showln i ": " sTemp1
        Send Destroy of hoJsonObj
        Move (i + 1) To i
    Loop

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe

    // A JSON object must be loaded using JsonObject
    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonObject
    If (Not(IsComObjectCreated(hoJsonObject))) Begin
        Send CreateComObject of hoJsonObject
    End
    Get ComLoad Of hoJsonObject sStrJsonObject To iSuccess

    // Examine the values:
    Move 0 To i
    Get ComSizeOfArray Of hoJsonObject "pets" To iNumPets
    While (i < iNumPets)
        Set ComI Of hoJsonObject To i
        Get ComStringOf Of hoJsonObject "pets[i].name" To sTemp1
        Showln i ": " sTemp1
        Move (i + 1) To i
    Loop

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe


End_Procedure