Tcl
Tcl
HTTP POST JSON and Parse JSON Response
See more HTTP Examples
Demonstrates how to send a JSON POST and then parse the JSON response.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set json [new_CkJsonObject]
set success [CkJsonObject_LoadFile $json "qa_data/json/jsonBodyForHttpPost.json"]
if {$success == 0} then {
puts [CkJsonObject_lastErrorText $json]
delete_CkJsonObject $json
exit
}
set http [new_CkHttp]
set resp [new_CkHttpResponse]
set success [CkHttp_HttpJson $http "POST" "https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums" $json "application/json" $resp]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkJsonObject $json
delete_CkHttp $http
delete_CkHttpResponse $resp
exit
}
set jsonResp [new_CkJsonObject]
CkJsonObject_Load $jsonResp [CkHttpResponse_bodyStr $resp]
CkJsonObject_put_EmitCompact $jsonResp 0
puts [CkJsonObject_emit $jsonResp]
# The JSON response to be parsed looks like this:
# {
# "LifeAmount": 513.85,
# "LifeResidualAmount": 123.38,
# "CriticalIllnessAmount": 0,
# "CriticalIllnessResidualAmount": 0,
# "DisabilityAmount": 881.70,
# "PolicyFee": 0.00,
# "PolicyFeeSecondary": 0,
# "PolicyFeeHidden": 50.00,
# "PolicyFeeHiddenSecondary": 0
# }
# We can get the floating point numbers as strings. Then convert to double
# using the appropriate string-to-double conversion for your programming language.
# For example, in C++ use atof. In C# use Convert.ToDouble.
set lifeAmount [CkJsonObject_stringOf $jsonResp "LifeAmount"]
set lifeResidualAmount [CkJsonObject_stringOf $jsonResp "LifeResidualAmount"]
puts "LifeAmount = $lifeAmount"
puts "LifeResidualAmount = $lifeResidualAmount"
delete_CkJsonObject $json
delete_CkHttp $http
delete_CkHttpResponse $resp
delete_CkJsonObject $jsonResp