PowerShell で JSON 配列を作成する

MD Aminul Islam 2023年6月21日
  1. PowerShell で ConvertTo-Json を使用して JSON 配列を作成する
  2. ConvertTo-Json を使用して JSON 配列を作成し、PowerShell でファイルに保存する
PowerShell で JSON 配列を作成する

JSON は、標準のファイル形式およびデータ交換形式です。 人間が読めるテキストを使用してデータを保存し、データを送信します。 配列と属性値のペアで構成されます。

PowerShell を使用して、JSON 配列を生成できます。 この記事では、PowerShell を使用して JSON 配列を作成する方法を示します。

また、トピックを簡単にするために必要な例と説明も表示されます。 JSON 配列を作成する 2つの異なる方法を見ていきます。

PowerShell で ConvertTo-Json を使用して JSON 配列を作成する

このセクションでは、変数内で完全な JSON 配列を整理し、ConvertTo-Json を使用して JSON 配列に変換します。

以下の例では、このメソッドを使用して単純な JSON 配列を作成しました。 この例のコードは次のようになります。

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

上記の例では、変数 $Body 内に JSON 配列全体を作成しました。 その後、ConvertTo-Json -InputObject $Body という行を使用して JSON 配列に変換しました。

上記の例を実行すると、次のような出力が得られます。

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

次の例では、サブ配列要素を作成しました。 この例のコードは次のとおりです。

$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

上記の例を実行すると、次の出力が得られます。

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

ConvertTo-Json を使用して JSON 配列を作成し、PowerShell でファイルに保存する

この方法は少し複雑です。 複数の変数を使用して段階的に JSON 配列を作成します。

この方法をよりよく理解するために、次の例を見てください。

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

上記の例では、最初に行 $jsonBase = @{} を使用して配列のベースの変数を作成しました。 次に、行 $array = @{} を使用して、配列要素の別の変数を作成しました。

その後、配列の日付を保持する別の変数を宣言し、配列とその部分配列を結合しました。 最後に、それを JSON 配列に変換し、配列を .json ファイルとして保存しました。

上記の PowerShell スクリプトを実行すると、次の内容の sample.json という名前のファイルが作業ディレクトリに作成されます。

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

この記事では、2つの方法について説明しました。 要件に基づいて使用できます。

ここで共有されているサンプル コードは、Windows PowerShell 環境でのみ実行可能であることに注意してください。

著者: MD Aminul Islam
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

関連記事 - PowerShell JSON