Sample code for 30+ languages & platforms
DataFlex

Load a JsonArray

See more JSON Examples

Demonstrates how to load a JsonArray.

Note: This example requires Chilkat v9.5.0.64 or greater.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoA
    Boolean iSuccess
    Handle hoJson
    Variant vAbc
    Handle hoAbc
    String sTemp1

    // This example requires Chilkat v9.5.0.64 or greater.

    // Loading into a new JSON array is simple and straightforward.
    Get Create (RefClass(cComChilkatJsonArray)) To hoA
    If (Not(IsComObjectCreated(hoA))) Begin
        Send CreateComObject of hoA
    End
    Get ComLoad Of a "[ 1,2,3,4 ]" To iSuccess

    // Output:  [1,2,3,4]
    Get ComEmit Of a To sTemp1
    Showln sTemp1
    Showln "--------"

    // The JsonArray's Load and LoadSb methods have a peculiar behavior when
    // it is already part of a JSON document.  In this case, the JsonArray
    // becomes detached, and the original document remains unchanged.
    // This is intentional due to the nature of the internal implementation.
    // For example:

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComLoad Of hoJson '{ "abc": [ 1,2,3,4 ] }' To iSuccess

    // Output:  (json) {"abc":[1,2,3,4]}
    Get ComEmit Of hoJson To sTemp1
    Showln "(json) " sTemp1
    Showln "--------"

    Get ComArrayOf Of hoJson "abc" To vAbc
    If (IsComObject(vAbc)) Begin
        Get Create (RefClass(cComChilkatJsonArray)) To hoAbc
        Set pvComObject Of hoAbc To vAbc
    End
    // When Load is called, abc becomes it's own document, and the original is not modified.
    Get ComLoad Of hoAbc "[ 5,6,7,8 ]" To iSuccess

    // Output: (abc) [5,6,7,8]
    Get ComEmit Of hoAbc To sTemp1
    Showln "(abc) " sTemp1
    Showln "--------"

    // Output: (json) {"abc":[1,2,3,4]}
    Get ComEmit Of hoJson To sTemp1
    Showln "(json) " sTemp1
    Showln "--------"
    Send Destroy of hoAbc


End_Procedure