Sample code for 30+ languages & platforms
Tcl

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

Tcl

load ./chilkat.dll

set success 0

# 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:
set strJsonArray "[ { \"name\": \"Bill\" }, { \"name\": \"Ted\" } ]"

# Load it into a JSON array.
set jsonA [new_CkJsonArray]

set success [CkJsonArray_Load $jsonA $strJsonArray]
puts "number of array elements: [CkJsonArray_get_Size $jsonA]"

# This is an object containing an array:
set strJsonObj "{ \"characters\": [ \"Bill\", \"Ted\" ] }"

# Load it into a JSON object.
set jsonO [new_CkJsonObject]

set success [CkJsonObject_Load $jsonO $strJsonObj]
puts "number of object members: [CkJsonObject_get_Size $jsonO]"

delete_CkJsonArray $jsonA
delete_CkJsonObject $jsonO