Pide tu presupuesto ya!
19th November 2024
Como administrador de sistemas Windows, trabajar con datos JSON (JavaScript Object Notation) se está convirtiendo cada vez más en una habilidad crucial. Ya sea que esté analizando archivos de configuración, interactuando con API REST o administrando datos de aplicaciones, saber cómo manejar JSON de manera eficiente en PowerShell puede ahorrarle horas de trabajo. En este tutorial práctico, le mostraré el lado práctico de trabajar con JSON en PowerShell.
Antes de sumergirte, asegúrate de tener:
Comencemos con un ejemplo básico. Digamos que tienes un archivo JSON llamado People.json que contiene información sobre varias personas:
[
{
"Name": "John Smith",
"Age": 30,
"City": "New York"
},
{
"Name": "Jane Doe",
"Age": 25,
"City": "Los Angeles"
}
]
Para leer este archivo JSON en PowerShell, usamos una combinación de Get-Content y ConvertFrom-Json:
$people = Get-Content -Path ~\People.json | ConvertFrom-Json
$people
La magia ocurre en el ConvertFrom-Json cmdlet: transforma el texto JSON sin formato en objetos de PowerShell con los que puede trabajar fácilmente. Cuando ejecuta este comando, PowerShell muestra los datos en un formato estructurado:
Una de las mejores partes de convertir JSON a objetos de PowerShell es que puede manipular los datos como cualquier otro objeto de PowerShell. Aquí se explica cómo modificar los valores:
# Change the city of the first person
$people[0].City = 'Chicago'
# View the changed object
$people[0]
El verdadero poder surge cuando necesitas filtrar o transformar los datos. Por ejemplo, para buscar a todas las personas mayores de 25 años:
$people | Where-Object { $_.Age -gt 25 }
Esto es MUCHO más sencillo que intentar analizar el JSON directamente con expresiones regulares, lo que se parecería a esta monstruosidad:
$regexPattern = '({[^}]"Age"\s:\s(?:[2-9][6-9]|[3-9][0-9]|[1-9][0-9]{2,})[^}]})'
$matches = [regex]::Matches($jsonFromFile, $regexPattern)
Créame, ¡no querrá seguir ese camino a menos que sea absolutamente necesario!
Después de realizar cambios en sus datos, probablemente desee guardarlos nuevamente en un archivo. A continuación se explica cómo convertir objetos de PowerShell nuevamente a JSON:
$people | ConvertTo-Json | Set-Content -Path ~\UpdatedPeople.json
Este oleoducto:
Para verificar los cambios, puede leer el nuevo archivo:
Get-Content -Path ~\UpdatedPeople.json
Trabajar con JSON en PowerShell no tiene por qué ser complicado. Aprovechando cmdlets integrados como ConvertFrom-Json y ConvertTo-Jsonpuede leer, manipular y escribir datos JSON fácilmente sin tener que lidiar con expresiones regulares complejas o manipulación de cadenas.
La próxima vez que necesite trabajar con datos JSON en sus scripts de PowerShell, recuerde este sencillo flujo de trabajo:
¿Ha encontrado otras técnicas útiles para trabajar con JSON en PowerShell? ¡Comparte tus experiencias en los comentarios a continuación!
Leave a comment