Sample code for 30+ languages & platforms
PowerBuilder

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
string ls_StrJsonArray
string ls_StrJsonObject
oleobject loo_JsonArray
integer i
oleobject loo_JsonObj
oleobject loo_JsonObject
integer li_NumPets

ls_StrJsonArray = "[{~"name~":~"jack~"},{~"name~":~"john~"},{~"name~":~"joe~"}]"

ls_StrJsonObject = "{~"pets~":[{~"name~":~"jack~"},{~"name~":~"john~"},{~"name~":~"joe~"}]}"

// A JSON array must be loaded using JsonArray:
loo_JsonArray = create oleobject
li_rc = loo_JsonArray.ConnectToNewObject("Chilkat.JsonArray")
if li_rc < 0 then
    destroy loo_JsonArray
    MessageBox("Error","Connecting to COM object failed")
    return
end if
loo_JsonArray.Load(ls_StrJsonArray)

// Examine the values:
i = 0
do while i < loo_JsonArray.Size
    loo_JsonObj = loo_JsonArray.ObjectAt(i)
    Write-Debug string(i) + ": " + loo_JsonObj.StringOf("name")
    destroy loo_JsonObj
    i = i + 1
loop

// Output is:

// 	0: jack
// 	1: john
// 	2: joe

// A JSON object must be loaded using JsonObject
loo_JsonObject = create oleobject
li_rc = loo_JsonObject.ConnectToNewObject("Chilkat.JsonObject")

loo_JsonObject.Load(ls_StrJsonObject)

// Examine the values:
i = 0
li_NumPets = loo_JsonObject.SizeOfArray("pets")
do while i < li_NumPets
    loo_JsonObject.I = i
    Write-Debug string(i) + ": " + loo_JsonObject.StringOf("pets[i].name")
    i = i + 1
loop

// Output is:

// 	0: jack
// 	1: john
// 	2: joe


destroy loo_JsonArray
destroy loo_JsonObject