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
(Perl) Insert JSON Array into another JSON ObjectSee more JSON ExamplesDemonstrates how to insert a JSON array into a JSON object.
use chilkat(); # Imagine we have two separate JSON objects. $jsonA = chilkat::CkJsonObject->new(); $jsonA->UpdateString("ciphertext","encryptedData"); $jsonA->UpdateInt("status",200); $jsonA->UpdateString("error","errorMsg"); $jsonA->put_EmitCompact(0); print $jsonA->emit() . "\r\n"; # jsonA contains: # { # "ciphertext": "encryptedData", # "status": 200, # "error": "errorMsg" # } $jsonB = chilkat::CkJsonObject->new(); $jsonB->UpdateString("users[0].role","Surgeon"); $jsonB->UpdateNewArray("users[0].sub_roles"); $jsonB->UpdateBool("users[0].viewable_for_sharing",1); $jsonB->UpdateInt("users[0].eula_create_date",123); $jsonB->UpdateString("users[1].role","Support"); $jsonB->UpdateString("users[1].sub_roles[0]","Tech"); $jsonB->UpdateString("users[1].sub_roles[1]","Service"); $jsonB->UpdateBool("users[1].viewable_for_sharing",1); $jsonB->UpdateInt("users[1].eula_create_date",123); $jsonB->put_EmitCompact(0); print $jsonB->emit() . "\r\n"; # 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). $jsonA->AddArrayAt(-1,"users"); # The destination is the empty "users" array, the source is the populated "users" array in jsonB. # jsonUsersDest is a JsonArray $jsonUsersDest = $jsonA->ArrayOf("users"); # jsonUsersSrc is a JsonArray $jsonUsersSrc = $jsonB->ArrayOf("users"); # Copy the array items from source to dest $jsonUsersDest->AppendArrayItems($jsonUsersSrc); print $jsonA->emit() . "\r\n"; # 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 # } # ] # } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.