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
(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 } ] }
Use ChilkatAx-win32.pkg Procedure Test Handle hoJson Boolean iSuccess Integer iIndex Variant vDetail Handle hoDetail Variant vAPrice Handle hoAPrice Variant vPriceObj Handle hoPriceObj String sTemp1 Integer iTemp1 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 ComAddObjectAt Of hoJson -1 "Detail" To iSuccess Get ComSize Of hoJson To iTemp1 Get ComObjectAt Of hoJson (iTemp1 - 1) To vDetail If (IsComObject(vDetail)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoDetail Set pvComObject Of hoDetail To vDetail End 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 Send Destroy of hoDetail // Add the array for Price Get ComAddArrayAt Of hoJson -1 "Price" To iSuccess Get ComSize Of hoJson To iTemp1 Get ComArrayAt Of hoJson (iTemp1 - 1) To vAPrice If (IsComObject(vAPrice)) Begin Get Create (RefClass(cComChilkatJsonArray)) To hoAPrice Set pvComObject Of hoAPrice To vAPrice End // Entry entry in aPrice will be a JSON object. // Append a new/empty ojbect to the end of the aPrice array. Get ComAddObjectAt Of hoAPrice -1 To iSuccess // Get the object that was just appended. Get ComSize Of hoAPrice To iTemp1 Get ComObjectAt Of hoAPrice (iTemp1 - 1) To vPriceObj If (IsComObject(vPriceObj)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoPriceObj Set pvComObject Of hoPriceObj To vPriceObj End Get ComAddStringAt Of hoPriceObj -1 "type" "Hardcover" To iSuccess Get ComAddNumberAt Of hoPriceObj -1 "price" "16.65" To iSuccess Send Destroy of hoPriceObj Get ComAddObjectAt Of hoAPrice -1 To iSuccess Get ComSize Of hoAPrice To iTemp1 Get ComObjectAt Of hoAPrice (iTemp1 - 1) To vPriceObj If (IsComObject(vPriceObj)) Begin Get Create (RefClass(cComChilkatJsonObject)) To hoPriceObj Set pvComObject Of hoPriceObj To vPriceObj End Get ComAddStringAt Of hoPriceObj -1 "type" "Kindle Edition" To iSuccess Get ComAddNumberAt Of hoPriceObj -1 "price" "7.00" To iSuccess Send Destroy of hoPriceObj Send Destroy of hoAPrice Set ComEmitCompact Of hoJson To False Get ComEmit Of hoJson To sTemp1 Showln sTemp1 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.