PowerShellでJSONファイルへ書き込むサンプルコードを紹介します。
ファイル構成
jsonファイルとpowershellファイル(ps1)は同じディレクトリに格納しています。
ソースコード
コマンドを叩くと、JSONファイルを読み込み、ageプロパティとpets.typeプロパティを変更し書き込みます。
また、プロパティ”language” : “japanese”を新規に追加します。
コマンド
powershell -ExecutionPolicy RemoteSigned -File "WriteJson.ps1"
WriteJson.ps1
# JSONファイルの読み込み
$jsonContent = Get-Content -Path "json1.json" -Raw
$jsonObj = ConvertFrom-Json $jsonContent
# プロパティの変更
# 年齢
$jsonObj.age = 99
# ペットの種類
$jsonObj.pets.type = "bird"
# プロパティの追加
# 母語
$jsonObj | Add-Member -Name "language" -Value "Japanese" -MemberType NoteProperty
# ファイル書き込み (Depthは最大の100を指定)
ConvertTo-Json $jsonObj -Depth 100 | Out-File json1.json -Encoding utf8
※ConvertTo-Jsonの-Depthは標準は2階層です。深い階層が途切れるので、最大の100を指定しています。
json1.json(JSONファイル)
{
"name":"Suzuki Taro",
"age":105,
"city":"Tokyo",
"pets":{
"type":"cat",
"name":"Pochi"
}
}
テスト実行
Windows PowerShellのターミナルから、上記のWriteJson.ps1を実行するコマンドを打ちます。
コマンド上はそのまま終了します。
json1.jsonが書き換わりました。
- age 105 → 99
- pets.type cat → bird
また、”language” : “japanese”が追加されています。
参考情報
環境
下記の環境で作成・実行しております。
No. | 環境 | バージョン |
---|---|---|
1 | OS | Windows11 |
2 | PowerShell | 5.1 |
以上です。