Leer archivos JSON en PowerShell
-
Use
Get-Content
para leer JSON como una cadena en PowerShell -
Use
ConvertFrom-Json
para leer JSON como un objeto personalizado en PowerShell -
Use
Invoke-WebRequest
para leer JSON desde la web en PowerShell
Este tutorial demuestra cómo leer archivos JSON en PowerShell.
Use Get-Content
para leer JSON como una cadena en PowerShell
El comando Get-Content
es un comando de PowerShell que lee el contenido de un elemento. Este comando toma un parámetro Ruta
que especifica la ubicación del elemento; el contenido suele ser datos de texto.
La cadena con formato JSON también son datos de texto; este comando puede leer un archivo JSON y enviarlo como una cadena al shell.
El siguiente comando lee un archivo JSON como una cadena.
Get-Content "transactions.json"
Producción :
[
{
"Date": "19/5/2022",
"ProductId": "0001",
"ProductName": "Fizzy Drink",
"Cost": "2.32",
"Currency": "USD"
},
{
"Date": "16/5/2022",
"ProductId": "0002",
"ProductName": "Dark Chocolate",
"Cost": "6.52",
"Currency": "USD"
},
{
"Date": "10/5/2022",
"ProductId": "0003",
"ProductName": "Snacks",
"Cost": "4.2",
"Currency": "USD"
}
]
Use ConvertFrom-Json
para leer JSON como un objeto personalizado en PowerShell
El ConvertFrom-Json
es un comando de PowerShell que convierte una cadena con formato JSON en un objeto personalizado de PowerShell o PSCustomObject
. Este objeto incluye todas las propiedades correspondientes a los campos JSON.
El siguiente comando combina Get-Content con ConvertFrom-Json
para leer un JSON como PSCustomObject
.
Get-Content "transactions.json" | ConvertFrom-Json
Producción :
Date : 19/5/2022
ProductId : 0001
ProductName : Fizzy Drink
Cost : 2.32
Currency : USD
Date : 16/5/2022
ProductId : 0002
ProductName : Dark Chocolate
Cost : 6.52
Currency : USD
Date : 10/5/2022
ProductId : 0003
ProductName : Snacks
Cost : 4.2
Currency : USD
Use Invoke-WebRequest
para leer JSON desde la web en PowerShell
JSON es un formato de intercambio de datos comúnmente utilizado en la web para comunicaciones entre clientes y servidores. Un cliente envía una solicitud HTTP/HTTPS a un servidor y, como resultado, el servidor devuelve los datos solicitados como JSON.
El Invoke-WebRequest
envía una solicitud HTTP a un URI específico. El servidor recibe la solicitud y responde con un JSON en consecuencia.
El siguiente comando envía una solicitud web a un servidor y analiza el JSON con ConvertFrom-Json
.
Invoke-WebRequest -Uri https://my-json-server.typicode.com/typicode/demo/posts | ConvertFrom-Json
Producción :
id title
-- -----
1 Post 1
2 Post 2
3 Post 3