Sample code for 30+ languages & platforms
DataFlex

Create a JSON Array of Objects

See more JSON Examples

Demonstrates how to create a JSON array of objects.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoArr
    Variant vObj
    Handle hoObj
    String sTemp1

    Move False To iSuccess

    Get Create (RefClass(cComChilkatJsonArray)) To hoArr
    If (Not(IsComObjectCreated(hoArr))) Begin
        Send CreateComObject of hoArr
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoObj
    If (Not(IsComObjectCreated(hoObj))) Begin
        Send CreateComObject of hoObj
    End

    // Create a new and empty JSON object in the 1st position of the JSON array 
    // and return the reference in the last argument.
    Get pvComObject of hoObj to vObj
    Get ComAddObjectAt2 Of hoArr 0 vObj To iSuccess
    Get ComUpdateString Of hoObj "Name" "Otto" To iSuccess
    Get ComUpdateInt Of hoObj "Age" 29 To iSuccess
    Get ComUpdateBool Of hoObj "Married" False To iSuccess

    // Create a new and empty JSON object in the 2nd position of the JSON array 
    // and return the reference in the last argument.
    Get pvComObject of hoObj to vObj
    Get ComAddObjectAt2 Of hoArr 1 vObj To iSuccess
    Get ComUpdateString Of hoObj "Name" "Connor" To iSuccess
    Get ComUpdateInt Of hoObj "Age" 43 To iSuccess
    Get ComUpdateBool Of hoObj "Married" True To iSuccess

    // Create a new and empty JSON object in the 3rd position of the JSON array 
    // and return the reference in the last argument.
    Get pvComObject of hoObj to vObj
    Get ComAddObjectAt2 Of hoArr 2 vObj To iSuccess
    Get ComUpdateString Of hoObj "Name" "Ramona" To iSuccess
    Get ComUpdateInt Of hoObj "Age" 34 To iSuccess
    Get ComUpdateBool Of hoObj "Married" True To iSuccess

    // Examine what we have:
    Set ComEmitCompact Of hoArr To False
    Get ComEmit Of hoArr To sTemp1
    Showln sTemp1

    // The output is:

    // [
    //   {
    //     "Name": "Otto",
    //     "Age": 29,
    //     "Married": false
    //   },
    //   {
    //     "Name": "Connor",
    //     "Age": 43,
    //     "Married": true
    //   },
    //   {
    //     "Name": "Ramona",
    //     "Age": 34,
    //     "Married": true
    //   }
    // ]


End_Procedure