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
(PureBasic) 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 } ] }
IncludeFile "CkJsonArray.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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. index.i = -1 success = CkJsonObject::ckAddStringAt(json,-1,"Title","The Cuckoo's Calling") success = CkJsonObject::ckAddStringAt(json,-1,"Author","Robert Galbraith") success = CkJsonObject::ckAddStringAt(json,-1,"Genre","classic crime novel") ; Let's create the Detail JSON object: success = CkJsonObject::ckAddObjectAt(json,-1,"Detail") detail.i = CkJsonObject::ckObjectAt(json,CkJsonObject::ckSize(json) - 1) success = CkJsonObject::ckAddStringAt(detail,-1,"Publisher","Little Brown") success = CkJsonObject::ckAddIntAt(detail,-1,"Publication_Year",2013) success = CkJsonObject::ckAddNumberAt(detail,-1,"ISBN-13","9781408704004") success = CkJsonObject::ckAddStringAt(detail,-1,"Language","English") success = CkJsonObject::ckAddIntAt(detail,-1,"Pages",494) CkJsonObject::ckDispose(detail) ; Add the array for Price success = CkJsonObject::ckAddArrayAt(json,-1,"Price") aPrice.i = CkJsonObject::ckArrayAt(json,CkJsonObject::ckSize(json) - 1) ; Entry entry in aPrice will be a JSON object. ; Append a new/empty ojbect to the end of the aPrice array. success = CkJsonArray::ckAddObjectAt(aPrice,-1) ; Get the object that was just appended. priceObj.i = CkJsonArray::ckObjectAt(aPrice,CkJsonArray::ckSize(aPrice) - 1) success = CkJsonObject::ckAddStringAt(priceObj,-1,"type","Hardcover") success = CkJsonObject::ckAddNumberAt(priceObj,-1,"price","16.65") CkJsonObject::ckDispose(priceObj) success = CkJsonArray::ckAddObjectAt(aPrice,-1) priceObj = CkJsonArray::ckObjectAt(aPrice,CkJsonArray::ckSize(aPrice) - 1) success = CkJsonObject::ckAddStringAt(priceObj,-1,"type","Kindle Edition") success = CkJsonObject::ckAddNumberAt(priceObj,-1,"price","7.00") CkJsonObject::ckDispose(priceObj) CkJsonArray::ckDispose(aPrice) CkJsonObject::setCkEmitCompact(json, 0) Debug CkJsonObject::ckEmit(json) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.