Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(C++) SugarCRM Filtering RecordsExport records and filter.
#include <CkRest.h> #include <CkJsonObject.h> #include <CkStringBuilder.h> void ChilkatSample(void) { CkRest rest; bool success; success = rest.Connect("your.site.domain",443,true,true); if (success != true) { std::cout << rest.lastErrorText() << "\r\n"; return; } rest.AddHeader("Cache-Control","no-cache"); rest.AddHeader("OAuth-Token","<access_token>"); // The following code creates the JSON request body. // The JSON created by this code is shown below. CkJsonObject jsonReq; jsonReq.UpdateString("filter[0].$or[0].name.$starts","A"); jsonReq.UpdateString("filter[0].$or[1].name.$starts","b"); jsonReq.UpdateNumber("max_num","2"); jsonReq.UpdateNumber("offset","0"); jsonReq.UpdateString("fields","id"); jsonReq.UpdateString("order_by","date_entered"); jsonReq.UpdateBool("favorites",false); jsonReq.UpdateBool("my_items",false); // The JSON request body created by the above code: // { // "filter": [ // { // "$or": [ // { // "name": { // "$starts": "A" // } // }, // { // "name": { // "$starts": "b" // } // } // ] // } // ], // "max_num": 2, // "offset": 0, // "fields": "id", // "order_by": "date_entered", // "favorites": false, // "my_items": false // } CkStringBuilder sbReq; jsonReq.EmitSb(sbReq); rest.AddHeader("Content-Type","application/json"); CkStringBuilder sbJson; success = rest.FullRequestSb("POST","/rest/v10/Accounts/filter",sbReq,sbJson); if (success != true) { std::cout << rest.lastErrorText() << "\r\n"; return; } if (rest.get_ResponseStatusCode() != 200) { std::cout << "Received error response code: " << rest.get_ResponseStatusCode() << "\r\n"; std::cout << "Response body:" << "\r\n"; std::cout << sbJson.getAsString() << "\r\n"; return; } CkJsonObject json; json.LoadSb(sbJson); // The following code parses the JSON response. // A sample JSON response is shown below the sample code. int next_offset; int i; int count_i; const char *id = 0; const char *date_modified = 0; const char *v_module = 0; next_offset = json.IntOf("next_offset"); i = 0; count_i = json.SizeOfArray("records"); while (i < count_i) { json.put_I(i); id = json.stringOf("records[i].id"); date_modified = json.stringOf("records[i].date_modified"); v_module = json.stringOf("records[i]._module"); i = i + 1; } // A sample JSON response body that is parsed by the above code: // { // "next_offset": 2, // "records": [ // { // "id": "f16760a4-3a52-f77d-1522-5703ca28925f", // "date_modified": "2016-04-05T10:23:28-04:00", // "_acl": { // "fields": {} // }, // "_module": "Accounts" // }, // { // "id": "ec409fbb-2b22-4f32-7fa1-5703caf78dc3", // "date_modified": "2016-04-05T10:23:28-04:00", // "_acl": { // "fields": {} // }, // "_module": "Accounts" // } // ] // } std::cout << "Example Completed." << "\r\n"; } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.