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

Swap JSON Objects

See more JSON Examples

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

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$json = new COM("Chilkat.JsonObject");
$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"
//    }
//  }

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

//  Swap the positions of Jon and Sara.
$index1 = $json->IndexOf('Jon');
$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:

$jsonSara = new COM("Chilkat.JsonObject");
$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"
//    }
//  }

?>