Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.0.0+

Swap JSON Objects

See more JSON Examples

Demonstrates how to swap two JSON objects within a JSON document.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $json = Chilkat2::JsonObject->new;
$json->EmitCompact(0);

# Load the following JSON:

# {
#   "petter": {
#     "DOB": "26/02/1986",
#     "gender": "male",
#     "country": "US"
#   },
#   "Sara": {
#     "DOB": "13/05/1982",
#     "gender": "female",
#     "country": "FR"
#   },
#   "Jon": {
#     "DOB": "19/03/1984",
#     "gender": "male",
#     "country": "UK"
#   }
# }

my $success = $json->LoadFile('qa_data/json/people.json');
if (!$success) {
    print $json->LastErrorText, "\n";
    exit;
}

# Swap the positions of Jon and Sara.
my $index1 = $json->IndexOf('Jon');
my $index2 = $json->IndexOf('Sara');
$json->Swap($index1, $index2);

# We have this now:
print $json->Emit(), "\n";

# {
#   "petter": {
#     "DOB": "26/02/1986",
#     "gender": "male",
#     "country": "US"
#   },
#   "Jon": {
#     "DOB": "19/03/1984",
#     "gender": "male",
#     "country": "UK"
#   },
#   "Sara": {
#     "DOB": "13/05/1982",
#     "gender": "female",
#     "country": "FR"
#   }
# }

# To swap an inner member:

my $jsonSara = Chilkat2::JsonObject->new;
$json->ObjectOf2('Sara', $jsonSara);

$index1 = $jsonSara->IndexOf('DOB');
$index2 = $jsonSara->IndexOf('country');
$jsonSara->Swap($index1, $index2);

# We now have this:
print $json->Emit(), "\n";

# {
#   "petter": {
#     "DOB": "26/02/1986",
#     "gender": "male",
#     "country": "US"
#   },
#   "Jon": {
#     "DOB": "19/03/1984",
#     "gender": "male",
#     "country": "UK"
#   },
#   "Sara": {
#     "country": "FR",
#     "gender": "female",
#     "DOB": "13/05/1982"
#   }
# }