Leer archivos JSON en PowerShell
- 
          
            Use Get-Contentpara leer JSON como una cadena en PowerShell
- 
          
            Use ConvertFrom-Jsonpara leer JSON como un objeto personalizado en PowerShell
- 
          
            Use Invoke-WebRequestpara 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