![]() |
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
(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 } ] } Note: This example requires Chilkat v11.1.0 or greater.
IncludeFile "CkJsonArray.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() success.i = 0 json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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: detail.i = CkJsonObject::ckCreate() If detail.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckAppendObject2(json,"Detail",detail) 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) ; Add the array for Price aPrice.i = CkJsonArray::ckCreate() If aPrice.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckAppendArray2(json,"Price",aPrice) ; Entry in aPrice will be a JSON object. ; Append a new/empty ojbect to the end of the aPrice array. priceObj.i = CkJsonObject::ckCreate() If priceObj.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonArray::ckAddObjectAt2(aPrice,-1,priceObj) success = CkJsonObject::ckAddStringAt(priceObj,-1,"type","Hardcover") success = CkJsonObject::ckAddNumberAt(priceObj,-1,"price","16.65") CkJsonArray::ckAddObjectAt2(aPrice,-1,priceObj) success = CkJsonObject::ckAddStringAt(priceObj,-1,"type","Kindle Edition") success = CkJsonObject::ckAddNumberAt(priceObj,-1,"price","7.00") CkJsonObject::setCkEmitCompact(json, 0) Debug CkJsonObject::ckEmit(json) CkJsonObject::ckDispose(json) CkJsonObject::ckDispose(detail) CkJsonArray::ckDispose(aPrice) CkJsonObject::ckDispose(priceObj) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.