Sample code for 30+ languages & platforms
DataFlex

Understanding JSON Array vs JSON Object

See more JSON Examples

This example explains the difference between a JSON Array and a JSON Object. A JSON Array begins with "[" and ends with "]", whereas a JSON Object begins with "{" and ends with "}".

Elements contained in a JSON array are accessed by index, whereas elements in a JSON object are typically accessed by name (but can also be accessed by index).

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    String sStrJsonArray
    Handle hoJsonA
    String sStrJsonObj
    Handle hoJsonO
    Integer iTemp1

    Move False To iSuccess

    // A JSON array should be loaded into a Chilkat JSON array,
    // whereas a JSON object should be loaded into a Chilkat JSON object.

    // A JSON array may contain objects, and a JSON object may contains arrays, but
    // it is the top-level (outermost) element that defines whether the JSON
    // document is an array or an object.
    // An array begins and ends with "[" ... "]"
    // An object begins and ends with "{" ... "}"

    // For example, an array containing 2 objects:
    Move '[ { "name": "Bill" }, { "name": "Ted" } ]' To sStrJsonArray

    // Load it into a JSON array.
    Get Create (RefClass(cComChilkatJsonArray)) To hoJsonA
    If (Not(IsComObjectCreated(hoJsonA))) Begin
        Send CreateComObject of hoJsonA
    End
    Get ComLoad Of hoJsonA sStrJsonArray To iSuccess
    Get ComSize Of hoJsonA To iTemp1
    Showln "number of array elements: " iTemp1

    // This is an object containing an array:
    Move '{ "characters": [ "Bill", "Ted" ] }' To sStrJsonObj

    // Load it into a JSON object.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonO
    If (Not(IsComObjectCreated(hoJsonO))) Begin
        Send CreateComObject of hoJsonO
    End
    Get ComLoad Of hoJsonO sStrJsonObj To iSuccess
    Get ComSize Of hoJsonO To iTemp1
    Showln "number of object members: " iTemp1


End_Procedure