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

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())