![]() |
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) JSON: Nested ObjectsHere we have a JSON object that contains nested JSON objects. This example demonstrates how to access the contents of the nested objects. { "name": "donut", "image": { "fname": "donut.jpg", "w": 200, "h": 200 }, "thumbnail": { "fname": "donutThumb.jpg", "w": 32, "h": 32 } } Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() success.i = 0 json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars). ; The presence of whitespace chars for pretty-printing makes no difference to the Load ; method. jsonStr.s = "{" + Chr(34) + "name" + Chr(34) + ": " + Chr(34) + "donut" + Chr(34) + "," + Chr(34) + "image" + Chr(34) + ":{" + Chr(34) + "fname" + Chr(34) + ": " + Chr(34) + "donut.jpg" + Chr(34) + "," + Chr(34) + "w" + Chr(34) + ": 200," + Chr(34) + "h" + Chr(34) + ": 200}," + Chr(34) + "thumbnail" + Chr(34) + ":{" + Chr(34) + "fname" + Chr(34) + ": " + Chr(34) + "donutThumb.jpg" + Chr(34) + "," + Chr(34) + "w" + Chr(34) + ": 32," + Chr(34) + "h" + Chr(34) + ": 32}}" success = CkJsonObject::ckLoad(json,jsonStr) If success = 0 Debug CkJsonObject::ckLastErrorText(json) CkJsonObject::ckDispose(json) ProcedureReturn EndIf ; Get the "image" object. imageObj.i = CkJsonObject::ckCreate() If imageObj.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckObjectOf2(json,"image",imageObj) Debug "image: fname=" + CkJsonObject::ckStringOf(imageObj,"fname") + ", width=" + Str(CkJsonObject::ckIntOf(imageObj,"w")) + ", height=" + Str(CkJsonObject::ckIntOf(imageObj,"h")) ; Get the "thumbnail" object. thumbObj.i = CkJsonObject::ckCreate() If thumbObj.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckObjectOf2(json,"thumbnail",thumbObj) Debug "thumbnail: fname=" + CkJsonObject::ckStringOf(thumbObj,"fname") + ", width=" + Str(CkJsonObject::ckIntOf(thumbObj,"w")) + ", height=" + Str(CkJsonObject::ckIntOf(thumbObj,"h")) CkJsonObject::ckDispose(json) CkJsonObject::ckDispose(imageObj) CkJsonObject::ckDispose(thumbObj) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.