Sample code for 30+ languages & platforms
PureBasic

Load JSON Data at Path

See more JSON Examples

Demonstrates how to load JSON data into a path within a JSON database. For example, we begin with this JSON:
{
  "a": 1,
  "b": 2,
  "c": {
    "x": 1,
    "y": 2
  }
}
Then we load {"mm": 11, "nn": 22} to "c", and the result is this JSON:
{
  "a": 1,
  "b": 2,
  "c": {
    "mm": 11,
    "nn": 22
  }
}

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkJsonObject.pb"

Procedure ChilkatExample()

    ; Demonstrates how to load replace the data at a location within a JSON database.

    p.s = "{" + Chr(34) + "a" + Chr(34) + ": 1, " + Chr(34) + "b" + Chr(34) + ": 2, " + Chr(34) + "c" + Chr(34) + ": { " + Chr(34) + "x" + Chr(34) + ": 1, " + Chr(34) + "y" + Chr(34) + ": 2 } }"

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

    CkJsonObject::ckLoad(json,p)
    CkJsonObject::setCkEmitCompact(json, 0)
    Debug CkJsonObject::ckEmit(json)

    q.s = "{" + Chr(34) + "mm" + Chr(34) + ": 11, " + Chr(34) + "nn" + Chr(34) + ": 22}"

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

    CkJsonObject::ckObjectOf2(json,"c",c)
    CkJsonObject::ckLoad(c,q)

    ; See that x and y are replaced with mm and nn.
    Debug CkJsonObject::ckEmit(json)


    CkJsonObject::ckDispose(json)
    CkJsonObject::ckDispose(c)


    ProcedureReturn
EndProcedure