Sample code for 30+ languages & platforms
Tcl

Iterate over JSON Array containing JSON Objects

See more JSON Examples

Demonstrates how to load a JSON array and iterate over the JSON objects.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# Loads the following JSON array and iterates over the objects:
# 
# [
# {"tagId":95,"tagDescription":"hola 1","isPublic":true},
# {"tagId":98,"tagDescription":"hola 1","isPublic":true},
# {"tagId":101,"tagDescription":"hola 1","isPublic":true},
# {"tagId":104,"tagDescription":"hola 1","isPublic":true},
# {"tagId":107,"tagDescription":"hola 1","isPublic":true},
# {"tagId":110,"tagDescription":"hola 1","isPublic":true},
# {"tagId":113,"tagDescription":"hola 1","isPublic":true},
# {"tagId":114,"tagDescription":"hola 2","isPublic":true},
# {"tagId":111,"tagDescription":"hola 2","isPublic":true},
# {"tagId":108,"tagDescription":"hola 2","isPublic":true},
# {"tagId":105,"tagDescription":"hola 2","isPublic":true},
# {"tagId":102,"tagDescription":"hola 2","isPublic":true},
# {"tagId":99,"tagDescription":"hola 2","isPublic":true},
# {"tagId":96,"tagDescription":"hola 2","isPublic":true},
# {"tagId":97,"tagDescription":"hola 3","isPublic":true},
# {"tagId":100,"tagDescription":"hola 3","isPublic":true},
# {"tagId":103,"tagDescription":"hola 3","isPublic":true},
# {"tagId":106,"tagDescription":"hola 3","isPublic":true},
# {"tagId":109,"tagDescription":"hola 3","isPublic":true},
# {"tagId":112,"tagDescription":"hola 3","isPublic":true},
# {"tagId":115,"tagDescription":"hola 3","isPublic":true},
# {"tagId":93,"tagDescription":"new tag","isPublic":true},
# {"tagId":94,"tagDescription":"new tag","isPublic":true},
# {"tagId":89,"tagDescription":"tag 1","isPublic":true},
# {"tagId":90,"tagDescription":"tag 2","isPublic":true},
# {"tagId":91,"tagDescription":"tag private 1","isPublic":false},
# {"tagId":92,"tagDescription":"tag private 2","isPublic":false}
# ]

# Load a file containing the above JSON..
set sbJsonArray [new_CkStringBuilder]

set success [CkStringBuilder_LoadFile $sbJsonArray "qa_data/json/arraySample.json" "utf-8"]

set arr [new_CkJsonArray]

set success [CkJsonArray_LoadSb $arr $sbJsonArray]

set i 0
set count [CkJsonArray_get_Size $arr]
# obj is a CkJsonObject

while {$i < $count} {
    set obj [CkJsonArray_ObjectAt $arr $i]
    set tagId [CkJsonObject_IntOf $obj "tagId"]
    set tagDescription [CkJsonObject_stringOf $obj "tagDescription"]
    set isPublic [CkJsonObject_BoolOf $obj "isPublic"]

    puts "tagId: $tagId"
    puts "tagDescription: $tagDescription"
    puts "isPublic: $isPublic"
    puts "--"

    delete_CkJsonObject $obj

    set i [expr $i + 1]
}

delete_CkStringBuilder $sbJsonArray
delete_CkJsonArray $arr