![]() |
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
(DataFlex) Create more Complex JSON DocumentSample code to create the following JSON document: { "Title": "The Cuckoo's Calling", "Author": "Robert Galbraith", "Genre": "classic crime novel", "Detail": { "Publisher": "Little Brown", "Publication_Year": 2013, "ISBN-13": 9781408704004, "Language": "English", "Pages": 494 }, "Price": [ { "type": "Hardcover", "price": 16.65 }, { "type": "Kindle Edition", "price": 7.00 } ] } Note: This example requires Chilkat v11.1.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoJson Integer iIndex Variant vDetail Handle hoDetail Variant vAPrice Handle hoAPrice Variant vPriceObj Handle hoPriceObj String sTemp1 Move False To iSuccess Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End // The only reason for failure in the following lines of code would be an out-of-memory condition.. // An index value of -1 is used to append at the end. Move -1 To iIndex Get ComAddStringAt Of hoJson -1 "Title" "The Cuckoo's Calling" To iSuccess Get ComAddStringAt Of hoJson -1 "Author" "Robert Galbraith" To iSuccess Get ComAddStringAt Of hoJson -1 "Genre" "classic crime novel" To iSuccess // Let's create the Detail JSON object: Get Create (RefClass(cComChilkatJsonObject)) To hoDetail If (Not(IsComObjectCreated(hoDetail))) Begin Send CreateComObject of hoDetail End Get pvComObject of hoDetail to vDetail Get ComAppendObject2 Of hoJson "Detail" vDetail To iSuccess Get ComAddStringAt Of hoDetail -1 "Publisher" "Little Brown" To iSuccess Get ComAddIntAt Of hoDetail -1 "Publication_Year" 2013 To iSuccess Get ComAddNumberAt Of hoDetail -1 "ISBN-13" "9781408704004" To iSuccess Get ComAddStringAt Of hoDetail -1 "Language" "English" To iSuccess Get ComAddIntAt Of hoDetail -1 "Pages" 494 To iSuccess // Add the array for Price Get Create (RefClass(cComChilkatJsonArray)) To hoAPrice If (Not(IsComObjectCreated(hoAPrice))) Begin Send CreateComObject of hoAPrice End Get pvComObject of hoAPrice to vAPrice Get ComAppendArray2 Of hoJson "Price" vAPrice To iSuccess // Entry in aPrice will be a JSON object. // Append a new/empty ojbect to the end of the aPrice array. Get Create (RefClass(cComChilkatJsonObject)) To hoPriceObj If (Not(IsComObjectCreated(hoPriceObj))) Begin Send CreateComObject of hoPriceObj End Get pvComObject of hoPriceObj to vPriceObj Get ComAddObjectAt2 Of hoAPrice -1 vPriceObj To iSuccess Get ComAddStringAt Of hoPriceObj -1 "type" "Hardcover" To iSuccess Get ComAddNumberAt Of hoPriceObj -1 "price" "16.65" To iSuccess Get pvComObject of hoPriceObj to vPriceObj Get ComAddObjectAt2 Of hoAPrice -1 vPriceObj To iSuccess Get ComAddStringAt Of hoPriceObj -1 "type" "Kindle Edition" To iSuccess Get ComAddNumberAt Of hoPriceObj -1 "price" "7.00" To iSuccess Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.