(Tcl) Load JSON Array from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JsonArray.
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/sampleArray.json" "" "" "" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
# A JSON array is JSON that begins with "[" and ends with "]"
set jarr [new_CkJsonArray]
# If we wish to transfer (instead of copy) the JSON from the HttpResponse to the JsonArray, then add the keyword "TakeResponseBody" to UncommonOptions
# This could save memory for extremely large JSON responses.
CkHttpResponse_put_UncommonOptions $resp "TakeResponseBody"
CkHttpResponse_GetBodyJarr $resp $jarr
puts [CkJsonArray_emit $jarr]
# 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_CkJsonArray $jarr
|