Xbase++ Requires Chilkat v11.0.0+
Xbase++
Load JSON Object from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JSON object.Chilkat Xbase++ Downloads
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()