Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) JSON: Array of ObjectsHere we have a JSON object that contains an array, where each element in the array is a JSON object. This example demonstrates how to access the objects contained within an array. { "employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter","lastName":"Jones"} ] }
#include <CkJsonObject.h> #include <CkJsonArray.h> void ChilkatSample(void) { CkString strOut; CkJsonObject json; // This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars). // The presence of whitespace chars for pretty-printing makes no difference to the Load // method. const char *jsonStr = "{\"employees\":[{\"firstName\":\"John\", \"lastName\":\"Doe\"},{\"firstName\":\"Anna\", \"lastName\":\"Smith\"},{\"firstName\":\"Peter\",\"lastName\":\"Jones\"}]}"; bool success = json.Load(jsonStr); if (success != true) { strOut.append(json.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Get the "employees" array. CkJsonArray *employees = json.ArrayOf("employees"); if (json.get_LastMethodSuccess() == false) { strOut.append("employees member not found."); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Iterate over each employee, getting the JSON object at each index. int numEmployees = employees->get_Size(); int i = 0; while (i < numEmployees) { CkJsonObject *empObj = employees->ObjectAt(i); strOut.append("employee["); strOut.appendInt(i); strOut.append("] = "); strOut.append(empObj->stringOf("firstName")); strOut.append(" "); strOut.append(empObj->stringOf("lastName")); strOut.append("\r\n"); delete empObj; i = i + 1; } delete employees; SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.