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
(DataFlex) Insert JSON Array into another JSON ObjectSee more JSON ExamplesDemonstrates how to insert a JSON array into a JSON object.
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 // } // ] // } // First add an empty array at the desired location (-1 means append to end). Get ComAddArrayAt Of hoJsonA -1 "users" To iSuccess // The destination is the empty "users" array, the source is the populated "users" array in jsonB. Get ComArrayOf Of hoJsonA "users" To vJsonUsersDest If (IsComObject(vJsonUsersDest)) Begin Get Create (RefClass(cComChilkatJsonArray)) To hoJsonUsersDest Set pvComObject Of hoJsonUsersDest To vJsonUsersDest End Get ComArrayOf Of hoJsonB "users" To vJsonUsersSrc If (IsComObject(vJsonUsersSrc)) Begin Get Create (RefClass(cComChilkatJsonArray)) To hoJsonUsersSrc Set pvComObject Of hoJsonUsersSrc To vJsonUsersSrc End // Copy the array items from source to dest Get ComAppendArrayItems Of hoJsonUsersDest vJsonUsersSrc To iSuccess Send Destroy of hoJsonUsersDest Send Destroy of hoJsonUsersSrc 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-2024 Chilkat Software, Inc. All Rights Reserved.