Ruby
Ruby
Insert JSON Array into another JSON Object
See more JSON Examples
Demonstrates how to insert a JSON array into a JSON object.Chilkat Ruby Downloads
require '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(false)
print jsonA.emit() + "\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",true)
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",true)
jsonB.UpdateInt("users[1].eula_create_date",123)
jsonB.put_EmitCompact(false)
print jsonB.emit() + "\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
# }
# ]
# }
# The destination is the empty "users" array, the source is the populated "users" array in jsonB.
jsonUsersDest = Chilkat::CkJsonArray.new()
jsonA.AppendArray2("users",jsonUsersDest)
jsonUsersSrc = Chilkat::CkJsonArray.new()
jsonB.ArrayOf2("users",jsonUsersSrc)
# Copy the array items from source to dest
jsonUsersDest.AppendArrayItems(jsonUsersSrc)
print jsonA.emit() + "\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
# }
# ]
# }