Sample code for 30+ languages & platforms
Lua Requires Chilkat v11.0.0+

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

Lua
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)