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) 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 } }
IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() 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.i = CkJsonObject::ckLoad(json,jsonStr) If success <> 1 Debug CkJsonObject::ckLastErrorText(json) CkJsonObject::ckDispose(json) ProcedureReturn EndIf ; Get the "image" object. imageObj.i = CkJsonObject::ckObjectOf(json,"image") If CkJsonObject::ckLastMethodSuccess(json) = 0 Debug "image object not found." CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug "image: fname=" + CkJsonObject::ckStringOf(imageObj,"fname") + ", width=" + Str(CkJsonObject::ckIntOf(imageObj,"w")) + ", height=" + Str(CkJsonObject::ckIntOf(imageObj,"h")) CkJsonObject::ckDispose(imageObj) ; Get the "thumbnail" object. thumbObj.i = CkJsonObject::ckObjectOf(json,"thumbnail") If CkJsonObject::ckLastMethodSuccess(json) = 0 Debug "thumbnail object not found." CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug "thumbnail: fname=" + CkJsonObject::ckStringOf(thumbObj,"fname") + ", width=" + Str(CkJsonObject::ckIntOf(thumbObj,"w")) + ", height=" + Str(CkJsonObject::ckIntOf(thumbObj,"h")) CkJsonObject::ckDispose(thumbObj) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.