1 out of 1 rated this helpful - Rate this topic

ConvertFrom-Json

Published: February 29, 2012

Updated: August 15, 2012

Applies To: Windows PowerShell 3.0

ConvertFrom-Json

Converts a JSON-formatted string to a custom object.

Syntax

Parameter Set: Default
ConvertFrom-Json [-InputObject] <String> [ <CommonParameters>]




Detailed Description

The ConvertFrom-Json cmdlet converts a JSON-formatted string to custom object (PSCustomObject) that has a property for each field in the JSON string.

To generate a JSON string from any object, use the ConvertTo-Json cmdlet.

This cmdlet is introduced in Windows PowerShell 3.0.

Parameters

-InputObject<String>

Specifies the JSON strings to convert to JSON objects. Enter a variable that contains the string, or type a command or expression that gets the string. You can also pipe a string to ConvertFrom-Json.

The InputObject parameter is required, but its value can be an empty string. When the input object is an empty string, ConvertFrom-Json does not generate any output. The InputObject value cannot be null ($null).


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true (ByValue)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see  about_CommonParameters (http://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

Notes

  • The ConvertFrom-Json cmdlet is implemented by using the JavaScriptSerializer class (http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(VS.100).aspx).

Examples

Example 1

This command uses the ConvertTo-Json and ConvertFrom-Json cmdlets to convert a DateTime object from the Get-Date cmdlet to a JSON object.

The command uses the Select-Object cmdlet to get all of the properties of the DateTime object. It uses the ConvertTo-Json cmdlet to convert the DateTime object to a JSON-formatted string and the ConvertFrom-Json cmdlet to convert the JSON-formatted 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

Example 2

This command uses the Invoke-RestMethod cmdlet to get JSON strings from a web service and then it uses the ConvertTo-Json cmdlet to convert JSON content to objects that can be managed in Windows PowerShell.


PS C:\> $j = Invoke-RestMethod http://search.twitter.com/search.json?q=PowerShell | ConvertFrom-Json

Related topics



Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.