Sample code for 30+ languages & platforms
Visual FoxPro

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