Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.0.0+

Load JSON Object from HTTP Response Body

Demonstrates how to load the HTTP response body directly into a JSON object.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oResp
LOCAL oJson

nSuccess := 0

oHttp := CreateObject("Chilkat.Http")

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpStr("GET", "https://www.chilkatsoft.com/exampledata/sample.json", "", "", "", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oResp:destroy()
    RETURN
ENDIF

//  A JSON object is JSON that begins with "{" and ends with "}"
oJson := CreateObject("Chilkat.JsonObject")

//  If we wish to transfer (instead of copy) the JSON from the HttpResponse to the JsonObject, then add the keyword "TakeResponseBody" to UncommonOptions
//  This could save memory for extremely large JSON responses.
oResp:UncommonOptions := "TakeResponseBody"

oResp:GetBodyJson(oJson)

oJson:EmitCompact := 0
? oJson:Emit()

//  Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
? "----"
? oResp:BodyStr

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