Sample code for 30+ languages & platforms
PowerShell

JSON: Miscellaneous Operations

See more JSON Examples

Demonstrates a variety of JSON API methods. This example uses the following JSON document:
{
   "alphabet": "abcdefghijklmnopqrstuvwxyz",
   "sampleData" : {
           "pi": 3.14,
	   "apple": "juicy",
	   "hungry": true,
	   "withoutValue": null,
           "answer": 42
          
	}
}

Chilkat PowerShell Downloads

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

$success = $false

$json = New-Object Chilkat.JsonObject
$json.EmitCompact = $false

# Assume the file contains the data as shown above..
$success = $json.LoadFile("qa_data/json/sample2.json")
if ($success -eq $false) {
    $($json.LastErrorText)
    exit
}

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

# Demonstrate BoolAt and BoolOf
$("hungry: " + $sampleData.BoolOf("hungry"))
$("hungry: " + $sampleData.BoolAt(2))

# StringOf returns the value as a string regardless of it's actual type:
$("pi: " + $sampleData.StringOf("pi"))
$("answer: " + $sampleData.StringOf("answer"))
$("withoutValue: " + $sampleData.StringOf("withoutValue"))
$("hungry: " + $sampleData.StringOf("hungry"))

# Demonstrate IsNullOf / IsNullAt
$("withoutValue is null? " + $sampleData.IsNullOf("withoutValue"))
$("withoutValue is null? " + $sampleData.IsNullAt(3))
$("apple is null? " + $sampleData.IsNullOf("apple"))
$("apple is null? " + $sampleData.IsNullAt(1))

# IntOf
$("answer: " + $sampleData.IntOf("answer"))

# SetNullAt, SetNullOf
# Set "pi" to null
$success = $sampleData.SetNullAt(0)
# Set "answer" to null
$success = $sampleData.SetNullOf("answer")

# Show the changes:
$($json.Emit())

# Restore pi and apple:
$success = $sampleData.SetNumberAt(0,"3.14")
$success = $sampleData.SetNumberOf("answer","42")

# Show the changes:
$($json.Emit())

# Add a null value named "afterApple" just after "apple"
$success = $sampleData.AddNullAt(2,"afterApple")

# Add a boolean value just after "pi"
$success = $sampleData.AddBoolAt(1,"afterPi",$false)

# Examine the changes..
$($json.Emit())