ConvertFrom-Json
Converte uma cadeia de caracteres formatada em JSON em um objeto personalizado.
Sintaxe
Default (Default)
ConvertFrom-Json
[-InputObject] <String>
[<CommonParameters>]
Description
O cmdlet ConvertFrom-Json converte uma cadeia de caracteres formatada JSON (JavaScript Object Notation) em um objeto PSCustomObject personalizado que tem uma propriedade para cada campo na cadeia de caracteres JSON. O JSON é comumente usado por sites da Web para fornecer uma representação textual de objetos. O padrão JSON não proíbe o uso que é proibido com umPSCustomObject
Para gerar uma cadeia de caracteres JSON de qualquer objeto, use o cmdlet ConvertTo-Json.
Esse cmdlet foi introduzido no PowerShell 3.0.
Observação
Esse cmdlet não dá suporte a JSON com comentários.
Exemplos
Exemplo 1: Converter um objeto DateTime em um objeto JSON
Esse comando usa os cmdlets ConvertTo-Json e ConvertFrom-Json para converter um objeto DateTime do cmdlet Get-Date em um objeto JSON e, em seguida, em um PSCustomObject.
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
O exemplo usa o cmdlet Select-Object para obter todas as propriedades do objeto DateTime. Ele usa o cmdlet ConvertTo-Json para converter o objeto DateTime em uma cadeia de caracteres formatada como um objeto JSON e o cmdlet ConvertFrom-Json para converter a cadeia de caracteres formatada em JSON em um objeto PSCustomObject.
Exemplo 2: Obter cadeias de caracteres JSON de um serviço Web e convertê-las em objetos do PowerShell
Esse comando usa o cmdlet Invoke-WebRequest para obter cadeias de caracteres JSON de um serviço Web e usa o cmdlet ConvertFrom-Json para converter conteúdo JSON em objetos que podem ser gerenciados no PowerShell.
# Ensures that Invoke-WebRequest uses TLS 1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$j = Invoke-WebRequest 'https://api.github.com/repos/PowerShell/PowerShell/issues' | ConvertFrom-Json
Você também pode usar o cmdlet Invoke-RestMethod, que converte automaticamente o conteúdo JSON em objetos.
Exemplo 3: Converter uma cadeia de caracteres JSON em um objeto personalizado
Este exemplo mostra como usar o cmdlet ConvertFrom-Json para converter um arquivo JSON em um objeto personalizado do PowerShell.
Get-Content JsonFile.JSON | ConvertFrom-Json
O comando usa Get-Content cmdlet para obter as cadeias de caracteres em um arquivo JSON. Em seguida, ele usa o operador de pipeline para enviar a cadeia de caracteres delimitada para o cmdlet ConvertFrom-Json, que a converte em um objeto personalizado.
Parâmetros
-InputObject
Especifica as cadeias de caracteres JSON a serem convertidas em objetos JSON. Insira uma variável que contenha a cadeia de caracteres ou digite um comando ou expressão que obtém a cadeia de caracteres. Você também pode redirecionar uma cadeia de caracteres para ConvertFrom-Json.
O parâmetro InputObject é necessário, mas seu valor pode ser uma cadeia de caracteres vazia. Quando o objeto de entrada é uma cadeia de caracteres vazia, ConvertFrom-Json não gera nenhuma saída. O valor InputObject
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
String
Você pode canalizar uma cadeia de caracteres JSON para ConvertFrom-Json.
Saídas
PSCustomObject
Observações
O cmdlet ConvertFrom-Json é implementado usando a classe JavaScriptSerializer.