![]() |
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) Insert JSON Array into another JSON ObjectSee more JSON ExamplesDemonstrates how to insert a JSON array into a JSON object.Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkJsonArray.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; Imagine we have two separate JSON objects. jsonA.i = CkJsonObject::ckCreate() If jsonA.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(jsonA,"ciphertext","encryptedData") CkJsonObject::ckUpdateInt(jsonA,"status",200) CkJsonObject::ckUpdateString(jsonA,"error","errorMsg") CkJsonObject::setCkEmitCompact(jsonA, 0) Debug CkJsonObject::ckEmit(jsonA) ; jsonA contains: ; { ; "ciphertext": "encryptedData", ; "status": 200, ; "error": "errorMsg" ; } jsonB.i = CkJsonObject::ckCreate() If jsonB.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(jsonB,"users[0].role","Surgeon") CkJsonObject::ckUpdateNewArray(jsonB,"users[0].sub_roles") CkJsonObject::ckUpdateBool(jsonB,"users[0].viewable_for_sharing",1) CkJsonObject::ckUpdateInt(jsonB,"users[0].eula_create_date",123) CkJsonObject::ckUpdateString(jsonB,"users[1].role","Support") CkJsonObject::ckUpdateString(jsonB,"users[1].sub_roles[0]","Tech") CkJsonObject::ckUpdateString(jsonB,"users[1].sub_roles[1]","Service") CkJsonObject::ckUpdateBool(jsonB,"users[1].viewable_for_sharing",1) CkJsonObject::ckUpdateInt(jsonB,"users[1].eula_create_date",123) CkJsonObject::setCkEmitCompact(jsonB, 0) Debug CkJsonObject::ckEmit(jsonB) ; jsonB contains: ; { ; "users": [ ; { ; "role": "Surgeon", ; "sub_roles": [], ; "viewable_for_sharing": true, ; "eula_create_date": 1649108922482 ; }, ; { ; "role": "Support", ; "sub_roles": [ ; "Tech", ; "Service" ; ], ; "viewable_for_sharing": true, ; "eula_create_date": 1649108951523 ; } ; ] ; } ; Let's say we want to insert jsonB into jsonA to get this: ; { ; "ciphertext": "encryptedData", ; "status": 200, ; "error": "errorMsg", ; "users": [ ; { ; "role": "Surgeon", ; "sub_roles": [], ; "viewable_for_sharing": true, ; "eula_create_date": 1649108922482 ; }, ; { ; "role": "Support", ; "sub_roles": [ ; "Tech", ; "Service" ; ], ; "viewable_for_sharing": true, ; "eula_create_date": 1649108951523 ; } ; ] ; } ; The destination is the empty "users" array, the source is the populated "users" array in jsonB. jsonUsersDest.i = CkJsonArray::ckCreate() If jsonUsersDest.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckAppendArray2(jsonA,"users",jsonUsersDest) jsonUsersSrc.i = CkJsonArray::ckCreate() If jsonUsersSrc.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckArrayOf2(jsonB,"users",jsonUsersSrc) ; Copy the array items from source to dest CkJsonArray::ckAppendArrayItems(jsonUsersDest,jsonUsersSrc) Debug CkJsonObject::ckEmit(jsonA) ; The end result is this: ; { ; "ciphertext": "encryptedData", ; "status": 200, ; "error": "errorMsg", ; "users": [ ; { ; "role": "Surgeon", ; "sub_roles": [ ; ], ; "viewable_for_sharing": true, ; "eula_create_date": 123 ; }, ; { ; "role": "Support", ; "sub_roles": [ ; "Tech", ; "Service" ; ], ; "viewable_for_sharing": true, ; "eula_create_date": 123 ; } ; ] ; } CkJsonObject::ckDispose(jsonA) CkJsonObject::ckDispose(jsonB) CkJsonArray::ckDispose(jsonUsersDest) CkJsonArray::ckDispose(jsonUsersSrc) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.