![]() |
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
(DataFlex) 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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoJsonA Boolean iSuccess Handle hoJsonB Variant vJsonUsersDest Handle hoJsonUsersDest Variant vJsonUsersSrc Handle hoJsonUsersSrc String sTemp1 // Imagine we have two separate JSON objects. Get Create (RefClass(cComChilkatJsonObject)) To hoJsonA If (Not(IsComObjectCreated(hoJsonA))) Begin Send CreateComObject of hoJsonA End Get ComUpdateString Of hoJsonA "ciphertext" "encryptedData" To iSuccess Get ComUpdateInt Of hoJsonA "status" 200 To iSuccess Get ComUpdateString Of hoJsonA "error" "errorMsg" To iSuccess Set ComEmitCompact Of hoJsonA To False Get ComEmit Of hoJsonA To sTemp1 Showln sTemp1 // jsonA contains: // { // "ciphertext": "encryptedData", // "status": 200, // "error": "errorMsg" // } Get Create (RefClass(cComChilkatJsonObject)) To hoJsonB If (Not(IsComObjectCreated(hoJsonB))) Begin Send CreateComObject of hoJsonB End Get ComUpdateString Of hoJsonB "users[0].role" "Surgeon" To iSuccess Get ComUpdateNewArray Of hoJsonB "users[0].sub_roles" To iSuccess Get ComUpdateBool Of hoJsonB "users[0].viewable_for_sharing" True To iSuccess Get ComUpdateInt Of hoJsonB "users[0].eula_create_date" 123 To iSuccess Get ComUpdateString Of hoJsonB "users[1].role" "Support" To iSuccess Get ComUpdateString Of hoJsonB "users[1].sub_roles[0]" "Tech" To iSuccess Get ComUpdateString Of hoJsonB "users[1].sub_roles[1]" "Service" To iSuccess Get ComUpdateBool Of hoJsonB "users[1].viewable_for_sharing" True To iSuccess Get ComUpdateInt Of hoJsonB "users[1].eula_create_date" 123 To iSuccess Set ComEmitCompact Of hoJsonB To False Get ComEmit Of hoJsonB To sTemp1 Showln sTemp1 // 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. Get Create (RefClass(cComChilkatJsonArray)) To hoJsonUsersDest If (Not(IsComObjectCreated(hoJsonUsersDest))) Begin Send CreateComObject of hoJsonUsersDest End Get pvComObject of hoJsonUsersDest to vJsonUsersDest Get ComAppendArray2 Of hoJsonA "users" vJsonUsersDest To iSuccess Get Create (RefClass(cComChilkatJsonArray)) To hoJsonUsersSrc If (Not(IsComObjectCreated(hoJsonUsersSrc))) Begin Send CreateComObject of hoJsonUsersSrc End Get pvComObject of hoJsonUsersSrc to vJsonUsersSrc Get ComArrayOf2 Of hoJsonB "users" vJsonUsersSrc To iSuccess // Copy the array items from source to dest Get pvComObject of hoJsonUsersSrc to vJsonUsersSrc Get ComAppendArrayItems Of hoJsonUsersDest vJsonUsersSrc To iSuccess Get ComEmit Of hoJsonA To sTemp1 Showln sTemp1 // 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 // } // ] // } End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.