(Unicode C++) Load JSON Array from HTTP Response Body
Demonstrates how to load the HTTP response body directly into a JsonArray.
Note: This example requires Chilkat v11.0.0 or greater.
#include <CkHttpW.h>
#include <CkHttpResponseW.h>
#include <CkJsonArrayW.h>
void ChilkatSample(void)
{
bool success = false;
CkHttpW http;
CkHttpResponseW resp;
success = http.HttpStr(L"GET",L"https://www.chilkatsoft.com/exampledata/sampleArray.json",L"",L"",L"",resp);
if (success == false) {
wprintf(L"%s\n",http.lastErrorText());
return;
}
// A JSON array is JSON that begins with "[" and ends with "]"
CkJsonArrayW jarr;
// 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.
resp.put_UncommonOptions(L"TakeResponseBody");
resp.GetBodyJarr(jarr);
wprintf(L"%s\n",jarr.emit());
// Note: If UncommonOptions contained "TakeResponseBody", then the response BodyStr will now be empty:
wprintf(L"----\n");
wprintf(L"%s\n",resp.bodyStr());
}
|