Sample code for 30+ languages & platforms
Tcl

Load JSON Object from HTTP Response Body

Demonstrates how to load the HTTP response body directly into a JSON object.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set http [new_CkHttp]

set resp [new_CkHttpResponse]

set success [CkHttp_HttpStr $http "GET" "https://www.chilkatsoft.com/exampledata/sample.json" "" "" "" $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpResponse $resp
    exit
}

# A JSON object is JSON that begins with "{" and ends with "}"
set json [new_CkJsonObject]

# If we wish to transfer (instead of copy) the JSON from the HttpResponse to the JsonObject, then add the keyword "TakeResponseBody" to UncommonOptions
# This could save memory for extremely large JSON responses.
CkHttpResponse_put_UncommonOptions $resp "TakeResponseBody"

CkHttpResponse_GetBodyJson $resp $json

CkJsonObject_put_EmitCompact $json 0
puts [CkJsonObject_emit $json]

# Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
puts "----"
puts [CkHttpResponse_bodyStr $resp]

delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkJsonObject $json