DataFlex
DataFlex
Load JSON Array from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JsonArray.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Variant vResp
Handle hoResp
Variant vJarr
Handle hoJarr
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/sampleArray.json" "" "" "" vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
// A JSON array is JSON that begins with "[" and ends with "]"
Get Create (RefClass(cComChilkatJsonArray)) To hoJarr
If (Not(IsComObjectCreated(hoJarr))) Begin
Send CreateComObject of hoJarr
End
// If we wish to transfer (instead of copy) the JSON from the HttpResponse to the JsonArray, 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 hoJarr to vJarr
Get ComGetBodyJarr Of hoResp vJarr To iSuccess
Get ComEmit Of hoJarr 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