DataFlex
DataFlex
Load JSON Object from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JSON object.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Variant vResp
Handle hoResp
Variant vJson
Handle hoJson
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoResp to vResp
Get ComHttpStr Of hoHttp "GET" "https://www.chilkatsoft.com/exampledata/sample.json" "" "" "" vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
// A JSON object is JSON that begins with "{" and ends with "}"
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
// 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.
Set ComUncommonOptions Of hoResp To "TakeResponseBody"
Get pvComObject of hoJson to vJson
Get ComGetBodyJson Of hoResp vJson To iSuccess
Set ComEmitCompact Of hoJson To False
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
Showln "----"
Get ComBodyStr Of hoResp To sTemp1
Showln sTemp1
End_Procedure