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

Xbase++
LOCAL nSuccess
LOCAL oJson
LOCAL oHttp
LOCAL oResp
LOCAL oJsonResp
LOCAL cLifeAmount
LOCAL cLifeResidualAmount

nSuccess := 0

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

oJson := CreateObject("Chilkat.JsonObject")

nSuccess := oJson:LoadFile("qa_data/json/jsonBodyForHttpPost.json")
IF (nSuccess == 0)
    ? oJson:LastErrorText
    oJson:destroy()
    RETURN
ENDIF

oHttp := CreateObject("Chilkat.Http")

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums", oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oJson:destroy()
    oHttp:destroy()
    oResp:destroy()
    RETURN
ENDIF

oJsonResp := CreateObject("Chilkat.JsonObject")
oJsonResp:Load(oResp:BodyStr)

oJsonResp:EmitCompact := 0
? oJsonResp: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.  
cLifeAmount := oJsonResp:StringOf("LifeAmount")
cLifeResidualAmount := oJsonResp:StringOf("LifeResidualAmount")

? "LifeAmount = " + cLifeAmount
? "LifeResidualAmount = " + cLifeResidualAmount

oJson:destroy()
oHttp:destroy()
oResp:destroy()
oJsonResp:destroy()