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

Visual FoxPro
LOCAL lnSuccess
LOCAL loJson
LOCAL loHttp
LOCAL loResp
LOCAL loJsonResp
LOCAL lcLifeAmount
LOCAL lcLifeResidualAmount

lnSuccess = 0

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

loJson = CreateObject('Chilkat.JsonObject')

lnSuccess = loJson.LoadFile("qa_data/json/jsonBodyForHttpPost.json")
IF (lnSuccess = 0) THEN
    ? loJson.LastErrorText
    RELEASE loJson
    CANCEL
ENDIF

loHttp = CreateObject('Chilkat.Http')

loResp = CreateObject('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpJson("POST","https://test.something.com/XYZ/API/v1/CreditInsuranceCalculator/CalculatePremiums",loJson,"application/json",loResp)
IF (lnSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loJson
    RELEASE loHttp
    RELEASE loResp
    CANCEL
ENDIF

loJsonResp = CreateObject('Chilkat.JsonObject')
loJsonResp.Load(loResp.BodyStr)

loJsonResp.EmitCompact = 0
? 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