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

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Json
oleobject loo_Http
oleobject loo_Resp
oleobject loo_JsonResp
string ls_LifeAmount
string ls_LifeResidualAmount

li_Success = 0

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

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
    destroy loo_Json
    MessageBox("Error","Connecting to COM object failed")
    return
end if

li_Success = loo_Json.LoadFile("qa_data/json/jsonBodyForHttpPost.json")
if li_Success = 0 then
    Write-Debug loo_Json.LastErrorText
    destroy loo_Json
    return
end if

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")

loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpJson("POST","https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums",loo_Json,"application/json",loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Json
    destroy loo_Http
    destroy loo_Resp
    return
end if

loo_JsonResp = create oleobject
li_rc = loo_JsonResp.ConnectToNewObject("Chilkat.JsonObject")

loo_JsonResp.Load(loo_Resp.BodyStr)

loo_JsonResp.EmitCompact = 0
Write-Debug loo_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.  
ls_LifeAmount = loo_JsonResp.StringOf("LifeAmount")
ls_LifeResidualAmount = loo_JsonResp.StringOf("LifeResidualAmount")

Write-Debug "LifeAmount = " + ls_LifeAmount
Write-Debug "LifeResidualAmount = " + ls_LifeResidualAmount


destroy loo_Json
destroy loo_Http
destroy loo_Resp
destroy loo_JsonResp