Lua Requires Chilkat v11.0.0+
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local json = chilkat.JsonObject.new()
local success = json:load_file("qa_data/json/jsonBodyForHttpPost.json")
if not success then
print(json.last_error_text)
return
end
local http = chilkat.Http.new()
local resp = chilkat.HttpResponse.new()
success = http:http_json("POST", "https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums", json, "application/json", resp)
if not success then
print(http.last_error_text)
return
end
local jsonResp = chilkat.JsonObject.new()
jsonResp:load(resp.body_str)
jsonResp.emit_compact = false
print(jsonResp:emit())
-- 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.
local lifeAmount = jsonResp:string_of("LifeAmount")
local lifeResidualAmount = jsonResp:string_of("LifeResidualAmount")
print("LifeAmount = " .. lifeAmount)
print("LifeResidualAmount = " .. lifeResidualAmount)