PowerShell
コマンドライン シェルと関連するスクリプト言語で構成される Microsoft タスク自動化および構成管理フレームワークのファミリ。
30 件の質問
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
こんにちは、お世話になります。
PowerShellで
@("1","1") | convertto-json
とすると
[
"1",
"1"
]
と返ります。しかし
@("1") | convertto-json
とすると
[
"1"
]
とはならず
"1"
となります。
要素が1つであっても配列としてJSONを書き出したいのですが、方法はありますでしょうか?
ちなみに
@(,"1") | convertto-json
は
"1"
ですし
,@("1") | convertto-json
は
{
"value": [
"1"
],
"Count": 1
}
のような展開がなされてしまいます。
PowerShell 7 なら-AsArrayをつけて
@("1") | ConvertTo-Json -AsArray
@("A","B","C") | Select -First 1 | ConvertTo-Json -AsArray
PowerShell 5 なら配列をパイプで渡さずに、ConvertTo-Jsonに直接渡す。
パイプの結果を渡したかったらパイプの結果を、ConvertTo-Jsonに渡す
Write-Host "パイプを通して渡すのではなく" -ForegroundColor Red
@("1") | ConvertTo-Json
@("A","B","C") | Select -First 1 | ConvertTo-Json
Write-Host "InputObjectとして渡す" -ForegroundColor Green
ConvertTo-Json @(1)
ConvertTo-Json @(@("A","B","C") | Select -First 1)