(Tcl) JSON Iterate Members
Demonstrates how to loop over the immediate members of a JSON object.
load ./chilkat.dll
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
|