(Tcl) Load JSON Object from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JSON object.
Note: This example requires Chilkat v11.0.0 or greater.
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
|