Crear matriz JSON en PowerShell

MD Aminul Islam 21 junio 2023
  1. Use ConvertTo-Json para crear una matriz JSON en PowerShell
  2. Use ConvertTo-Json para crear una matriz JSON y guardarla en un archivo en PowerShell
Crear matriz JSON en PowerShell

JSON es un formato de archivo estándar y un formato de intercambio de datos. Utiliza texto legible por humanos para almacenar y transmitir datos. Consiste en matrices y pares de valores de atributos.

A través de PowerShell, puede generar una matriz JSON. Este artículo mostrará cómo podemos crear una matriz JSON usando PowerShell.

Además, veremos ejemplos y explicaciones necesarias para facilitar el tema. Veremos dos formas diferentes de crear una matriz JSON.

Use ConvertTo-Json para crear una matriz JSON en PowerShell

En esta sección, organizaremos una matriz JSON completa dentro de una variable y luego la convertiremos en una matriz JSON utilizando ConvertTo-Json.

En nuestro ejemplo a continuación, creamos una matriz JSON simple usando este método. El código de nuestro ejemplo será el siguiente:

$Body = @(
    @{
        FirstName='Alen'
        LastName='Walker'
    }
)
ConvertTo-Json -InputObject $Body

En el ejemplo anterior, creamos la matriz JSON completa dentro de la variable $Body. Después de eso, lo convertimos a una matriz JSON usando la línea ConvertTo-Json -InputObject $Body,

Después de ejecutar el ejemplo anterior, obtendrá un resultado como el siguiente:

[
    {
        "LastName":  "Walker",
        "FirstName":  "Alen"
    }
]

En nuestro siguiente ejemplo, creamos los elementos del subconjunto. El código para este ejemplo es el siguiente:

$body = @{
    'My Items'= @(
                    "Item 1",
                    "Item 2",
                    "Item 3",
                    "Item 4"
                )

   'My details'=@(
                 @{
                  "Name"= "Alen"
                  "Id"= "0001"
                 },
                 @{
                  "Name"= "Mycle"
                  "Id"= "0002"
                 }
              )
}
ConvertTo-Json -InputObject $Body

Después de ejecutar el ejemplo anterior, obtendrá este resultado:

{
    "My details":  [
                       {
                           "Id":  "0001",
                           "Name":  "Alen"
                       },
                       {
                           "Id":  "0002",
                           "Name":  "Mycle"
                       }
                   ],
    "My Items":  [
                     "Item 1",
                     "Item 2",
                     "Item 3",
                     "Item 4"
                 ]
}

Use ConvertTo-Json para crear una matriz JSON y guardarla en un archivo en PowerShell

Este método es un poco complejo. Crearemos la matriz JSON paso a paso usando más de una variable.

Por favor, eche un vistazo al siguiente ejemplo para comprender mejor este método.

$jsonBase = @{}
$array = @{}
$data = @{"Name"="Mycle";"Colour"="Alen";}
$array.Add("User",$data)
$jsonBase.Add("UserData",$array)
$jsonBase | ConvertTo-Json -Depth 10 | Out-File ".\sample.json"

En el ejemplo compartido anteriormente, primero creamos una variable para la base de la matriz usando la línea $jsonBase = @{}. Luego, creamos otra variable para el elemento del arreglo usando la línea $array = @{}.

Después de eso, declaramos otra variable para contener la fecha del arreglo y combinamos el arreglo y su subarreglo. Por último, lo convertimos en una matriz JSON y guardamos la matriz como un archivo .json.

Después de ejecutar el script de PowerShell anterior, verá que se crea un archivo llamado sample.json en su directorio de trabajo con el contenido a continuación:

{
    "UserData":  {
                     "User":  {
                                  "Name":  "Mycle",
                                  "Colour":  "Alen"
                              }
                 }
}

Discutimos dos métodos en este artículo. Puede usarlos según sus requisitos.

Tenga en cuenta que los códigos de ejemplo que se comparten aquí solo se pueden ejecutar en el entorno de Windows PowerShell.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn

Artículo relacionado - PowerShell JSON