Sample code for 30+ languages & platforms
Tcl

JSON Iterate Members

See more JSON Examples

Demonstrates how to loop over the immediate members of a JSON object.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set json [new_CkJsonObject]

set jsonStr "{ \"id\": 1, \"name\": \"A green door\", \"tags\": [\"home\", \"green\"], \"price\": 125 }"

set success [CkJsonObject_Load $json $jsonStr]
if {$success != 1} then {
    puts [CkJsonObject_lastErrorText $json]
    delete_CkJsonObject $json
    exit
}

set numMembers [CkJsonObject_get_Size $json]

for {set i 0} {$i <= [expr $numMembers - 1]} {incr i} {

    set name [CkJsonObject_nameAt $json $i]
    set value [CkJsonObject_stringAt $json $i]

    puts "$name: $value"

    set iValue [CkJsonObject_IntAt $json $i]
    puts "$name as integer: $iValue"

}

# Note: The StringAt method returns the value as a string regardless of the type.
# If the value is a JSON array (such as for ["home", "green"]), then the JSON encoding
# of the entire array is returned.

# The IntAt method returns the value as an integer.  If the value does not convert to 
# an integer, then 0 is returned

delete_CkJsonObject $json