Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkJsonArray.pb"
IncludeFile "CkJsonObject.pb"

Procedure ChilkatExample()

    ; This example requires Chilkat v9.5.0.64 or greater.

    ; Loading into a new JSON array is simple and straightforward.
    a.i = CkJsonArray::ckCreate()
    If a.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonArray::ckLoad(a,"[ 1,2,3,4 ]")

    ; Output:  [1,2,3,4]
    Debug CkJsonArray::ckEmit(a)
    Debug "--------"

    ; 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:

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoad(json,"{ " + Chr(34) + "abc" + Chr(34) + ": [ 1,2,3,4 ] }")

    ; Output:  (json) {"abc":[1,2,3,4]}
    Debug "(json) " + CkJsonObject::ckEmit(json)
    Debug "--------"

    abc.i = CkJsonObject::ckArrayOf(json,"abc")
    ; When Load is called, abc becomes it's own document, and the original is not modified.
    CkJsonArray::ckLoad(abc,"[ 5,6,7,8 ]")

    ; Output: (abc) [5,6,7,8]
    Debug "(abc) " + CkJsonArray::ckEmit(abc)
    Debug "--------"

    ; Output: (json) {"abc":[1,2,3,4]}
    Debug "(json) " + CkJsonObject::ckEmit(json)
    Debug "--------"
    CkJsonArray::ckDispose(abc)



    CkJsonArray::ckDispose(a)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure