This is the built-in help made by Microsoft for the command 'ConvertTo-Json', in PowerShell version 4 - as retrieved from
Windows version 'Microsoft Windows 8.1 Enterprise' PowerShell help files on 2016-06-23.
For PowerShell version 3 and up, where you have Update-Help, this command was run just before creating the web pages from the help files.
Converts an object to a JSON-formatted string
ConvertTo-Json [-InputObject] <Object> [-Compress] [-Depth <Int32>] [<CommonParameters>]
The ConvertTo-Json cmdlet converts any object to a string in JavaScript Object Notation (JSON) format. The properties are converted to field names, the field values a
re converted to property values, and the methods are removed.
You can then use the ConvertFrom-Json cmdlet to convert a JSON-formatted string to a JSON object, which is easily managed in Windows PowerShell.
Many web sites use JSON instead of XML to serialize data for communication between servers and web-based apps.
This cmdlet is introduced in Windows PowerShell 3.0.
<
Online Version: http://go.microsoft.com/fwlink/p/?linkid=293951
An Introduction to JavaScript Object Notation (JSON) in JavaScript and .NET
ConvertFrom-Json
Invoke-WebRequest
Invoke-RestMethod
<
Example 1
PS C:\>(Get-UICulture).Calendar | ConvertTo-Json
{
"MinSupportedDateTime": "\/Date(-62135568000000)\/",
"MaxSupportedDateTime": "\/Date(253402300799999)\/",
"AlgorithmType": 1,
"CalendarType": 1,
"Eras": [
1
],
"TwoDigitYearMax": 2029,
"IsReadOnly": false
}
This command uses the ConvertTo-Json cmdlet to convert a GregorianCalendar object to a JSON-formatted string.
Example 2
PS C:\>@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json - Compress
{"Admin":"True","Account":"User01","Domain":"Domain01"}
This command shows the effect of using the Compress parameter of ConvertTo-Json. The compression affects only the appearance of the string, not its validity.
Example 3
The first command uses the ConvertTo-Json cmdlet to convert a System.DateTime object from the Get-Date cmdlet to a JSON-formatted string. The command uses the Select-
Object cmdlet to get all (*) of the properties of the DateTime object.The output shows the JSON string that ConvertTo-Json returned.
PS C:\>Get-Date | Select-Object -Property * | ConvertTo-Json
{
"DisplayHint": 2,
"DateTime": "Friday, January 13, 2012 8:06:16 PM",
"Date": "\/Date(1326441600000)\/",
"Day": 13,
"DayOfWeek": 5,
"DayOfYear": 13,
"Hour": 20,
"Kind": 2,
"Millisecond": 221,
"Minute": 6,
"Month": 1,
"Second": 16,
"Ticks": 634620819762218083,
"TimeOfDay": {
"Ticks": 723762218083,
"Days": 0,
"Hours": 20,
"Milliseconds": 221,
"Minutes": 6,
"Seconds": 16,
"TotalDays": 0.83768775241087956,
"TotalHours": 20.104506057861109,
"TotalMilliseconds": 72376221.8083,
"TotalMinutes": 1206.2703634716668,
"TotalSeconds": 72376.22180829999
},
"Year": 2012
}
The second command uses ConvertFrom-Json to convert the JSON string to a JSON object.
PS C:\>Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : Friday, January 13, 2012 8:06:31 PM
Date : 1/13/2012 8:00:00 AM
Day : 13
DayOfWeek : 5
DayOfYear : 13
Hour : 20
Kind : 2
Millisecond : 400
Minute : 6
Month : 1
Second : 31
Ticks : 634620819914009002
TimeOfDay : @{Ticks=723914009002; Days=0; Hours=20; Milliseconds=400;
Minutes=6; Seconds=31; TotalDays=0.83786343634490734;
TotalHours=20.108722472277776; TotalMilliseconds=72391400.900200009;
TotalMinutes=1206.5233483366667;
TotalSeconds=72391.4009002}
Year : 2012
This command shows how to use the ConvertTo-Json and ConvertFrom-Json cmdlet to convert an object to a JSON string and a JSON object.
Example 4
PS C:\>$JsonSecurityHelp = Get-Content $pshome\Modules\Microsoft.PowerShell.Security\en-US\Microsoft.PowerShell.Security.dll-Help.xml | ConvertTo-Json
This command uses the ConvertTo-Json cmdlet to convert a Windows PowerShell help file from XML format to JSON format. You can use a command like this to use the help
topic content in a web service application.