Sample code for 30+ languages & platforms
PowerShell

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 PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

$json = New-Object 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 -eq $false) {
    $($json.LastErrorText)
    exit
}

# Get the "image" object.
$imageObj = New-Object Chilkat.JsonObject
$json.ObjectOf2("image",$imageObj)

$("image: fname=" + $imageObj.StringOf("fname") + ", width=" + $imageObj.IntOf("w") + ", height=" + $imageObj.IntOf("h"))

# Get the "thumbnail" object.
$thumbObj = New-Object Chilkat.JsonObject
$json.ObjectOf2("thumbnail",$thumbObj)

$("thumbnail: fname=" + $thumbObj.StringOf("fname") + ", width=" + $thumbObj.IntOf("w") + ", height=" + $thumbObj.IntOf("h"))