Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set strJsonArray "[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]"
set strJsonObject "{\"pets\":[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]}"
# A JSON array must be loaded using JsonArray:
set jsonArray [new_CkJsonArray]
CkJsonArray_Load $jsonArray $strJsonArray
# Examine the values:
set i 0
while {$i < [CkJsonArray_get_Size $jsonArray]} {
# jsonObj is a CkJsonObject
set jsonObj [CkJsonArray_ObjectAt $jsonArray $i]
puts "$i: [CkJsonObject_stringOf $jsonObj name]"
delete_CkJsonObject $jsonObj
set i [expr $i + 1]
}
# Output is:
# 0: jack
# 1: john
# 2: joe
# A JSON object must be loaded using JsonObject
set jsonObject [new_CkJsonObject]
CkJsonObject_Load $jsonObject $strJsonObject
# Examine the values:
set i 0
set numPets [CkJsonObject_SizeOfArray $jsonObject "pets"]
while {$i < $numPets} {
CkJsonObject_put_I $jsonObject $i
puts "$i: [CkJsonObject_stringOf $jsonObject {pets[i].name}]"
set i [expr $i + 1]
}
# Output is:
# 0: jack
# 1: john
# 2: joe
delete_CkJsonArray $jsonArray
delete_CkJsonObject $jsonObject