ConvertTo-Json
Converte um objeto em uma cadeia de caracteres formatada em JSON.
Sintaxe
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[<CommonParameters>]
Description
O cmdlet ConvertTo-Json converte qualquer objeto em uma cadeia de caracteres no formato JSON (JavaScript Object Notation). As propriedades são convertidas em nomes de campo, os valores de campo são convertidos em valores de propriedade e os métodos são removidos.
Em seguida, você pode usar o cmdlet ConvertFrom-Json
Muitos sites usam JSON em vez de XML para serializar dados para comunicação entre servidores e aplicativos baseados na Web.
Esse cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1
PS C:\> (Get-UICulture).Calendar | ConvertTo-Json
{
"MinSupportedDateTime": "\/Date(-62135596800000)\/",
"MaxSupportedDateTime": "\/Date(253402300799999)\/",
"AlgorithmType": 1,
"CalendarType": 1,
"Eras": [
1
],
"TwoDigitYearMax": 2029,
"IsReadOnly": false
}
Este exemplo usa o cmdlet ConvertTo-Json
Exemplo 2
PS C:\> @{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Admin":"True","Account":"User01","Domain":"Domain01"}
Este exemplo mostra o efeito do uso do parâmetro -Compress
de ConvertTo-Json.
A compactação afeta apenas a aparência da cadeia de caracteres, não sua validade.
Exemplo 3
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
}
Este exemplo usa o cmdlet ConvertTo-Json
Exemplo 4
PS C:\> Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : Saturday, October 13, 2018 3:28:40 AM
Date : 10/13/2018 12:00:00 AM
Day : 13
DayOfWeek : 6
DayOfYear : 286
Hour : 3
Kind : 2
Millisecond : 346
Minute : 28
Month : 10
Second : 40
Ticks : 636749981203464381
TimeOfDay : @{Ticks=125203464381; Days=0; Hours=3; Milliseconds=346; Minutes=28; Seconds=40;
TotalDays=0.14491141710763888; TotalHours=3.4778740105833332; TotalMilliseconds=12520346.4381;
TotalMinutes=208.67244063500002; TotalSeconds=12520.3464381}
Year : 2018
Este exemplo mostra como usar os cmdlets ConvertTo-Json e ConvertFrom-Json para converter um objeto em uma cadeia de caracteres JSON e um objeto JSON.
Parâmetros
-Compress
Omite espaço em branco e formatação recuada na cadeia de caracteres de saída.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Depth
Especifica quantos níveis de objetos contidos estão incluídos na representação JSON. O valor padrão é 2.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | 2 |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica os objetos a serem convertidos no formato JSON. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtém os objetos. Você também pode canalizar um objeto para ConvertTo-Json.
O parâmetro InputObject é necessário, mas seu valor pode ser nulo ($null
) ou uma cadeia de caracteres vazia.
Quando o objeto de entrada é $null
, ConvertTo-Json não gera nenhuma saída.
Quando o objeto de entrada é uma cadeia de caracteres vazia, ConvertTo-Json retorna uma cadeia de caracteres vazia.
Tipo: | Object |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
Entradas
Você pode redirecionar qualquer objeto para ConvertTo-Json .
Saídas
Observações
- O cmdlet ConvertTo-Json
é implementado usando a classe JavaScriptSerializer .