Xbase++ Requires Chilkat v11.0.0+
Xbase++
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
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()