Sample code for 30+ languages & platforms
PHP ActiveX

JSON: Nested Objects

See more JSON Examples

Here we have a JSON object that contains nested JSON objects. This example demonstrates how to access the contents of the nested objects.
{
  "name": "donut",
  "image":
    {
    "fname": "donut.jpg",
    "w": 200,
    "h": 200
    },
  "thumbnail":
    {
    "fname": "donutThumb.jpg",
    "w": 32,
    "h": 32
    }
}

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

$json = new COM("Chilkat.JsonObject");

// This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
// The presence of whitespace chars for pretty-printing makes no difference to the Load
// method. 
$jsonStr = '{\'name\': \'donut\',\'image\':{\'fname\': \'donut.jpg\',\'w\': 200,\'h\': 200},\'thumbnail\':{\'fname\': \'donutThumb.jpg\',\'w\': 32,\'h\': 32}}';

$success = $json->Load($jsonStr);
if ($success == 0) {
    print $json->LastErrorText . "\n";
    exit;
}

// Get the "image" object.
$imageObj = new COM("Chilkat.JsonObject");
$json->ObjectOf2('image',$imageObj);

print 'image: fname=' . $imageObj->stringOf('fname') . ', width=' . $imageObj->IntOf('w') . ', height=' . $imageObj->IntOf('h') . "\n";

// Get the "thumbnail" object.
$thumbObj = new COM("Chilkat.JsonObject");
$json->ObjectOf2('thumbnail',$thumbObj);

print 'thumbnail: fname=' . $thumbObj->stringOf('fname') . ', width=' . $thumbObj->IntOf('w') . ', height='
     . $thumbObj->IntOf('h') . "\n";

?>