Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Loading and Parsing a JSON ArrayA JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects. [{"name":"jack"},{"name":"john"},{"name":"joe"}]A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array. {"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}This example shows how loading a JSON array is different than loading a JSON object.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonArray, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var strJsonArray: PWideChar; strJsonObject: PWideChar; jsonArray: HCkJsonArray; i: Integer; jsonObj: HCkJsonObject; jsonObject: HCkJsonObject; numPets: Integer; begin strJsonArray := '[{"name":"jack"},{"name":"john"},{"name":"joe"}]'; strJsonObject := '{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}'; // A JSON array must be loaded using JsonArray: jsonArray := CkJsonArray_Create(); CkJsonArray_Load(jsonArray,strJsonArray); // Examine the values: i := 0; while i < CkJsonArray_getSize(jsonArray) do begin jsonObj := CkJsonArray_ObjectAt(jsonArray,i); Memo1.Lines.Add(IntToStr(i) + ': ' + CkJsonObject__stringOf(jsonObj,'name')); CkJsonObject_Dispose(jsonObj); i := i + 1; end; // Output is: // 0: jack // 1: john // 2: joe // A JSON object must be loaded using JsonObject jsonObject := CkJsonObject_Create(); CkJsonObject_Load(jsonObject,strJsonObject); // Examine the values: i := 0; numPets := CkJsonObject_SizeOfArray(jsonObject,'pets'); while i < numPets do begin CkJsonObject_putI(jsonObject,i); Memo1.Lines.Add(IntToStr(i) + ': ' + CkJsonObject__stringOf(jsonObject,'pets[i].name')); i := i + 1; end; // Output is: // 0: jack // 1: john // 2: joe CkJsonArray_Dispose(jsonArray); CkJsonObject_Dispose(jsonObject); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.