Sample code for 30+ languages & platforms
Lianja 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 Lianja Downloads

Lianja
llSuccess = .F.

//  This example assumes the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

loJson = createobject("CkJsonObject")

llSuccess = loJson.LoadFile("qa_data/json/jsonBodyForHttpPost.json")
if (llSuccess = .F.) then
    ? loJson.LastErrorText
    release loJson
    return
endif

loHttp = createobject("CkHttp")

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpJson("POST","https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums",loJson,"application/json",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loJson
    release loHttp
    release loResp
    return
endif

loJsonResp = createobject("CkJsonObject")
loJsonResp.Load(loResp.BodyStr)

loJsonResp.EmitCompact = .F.
? loJsonResp.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.  
lcLifeAmount = loJsonResp.StringOf("LifeAmount")
lcLifeResidualAmount = loJsonResp.StringOf("LifeResidualAmount")

? "LifeAmount = " + lcLifeAmount
? "LifeResidualAmount = " + lcLifeResidualAmount


release loJson
release loHttp
release loResp
release loJsonResp