Based on a suggestion by @AikenBM, welcomed by @SteveL-MSFT:
Similar to how @(...) ensures treatment of any value as an array, it would be handy if an -AsArray switch could instruct ConvertTo-Json to treat its input as an [ultimately JSON] array, so you can guarantee that your pipeline input is treated as an array, even if it happens to be a single item only:
Wishful thinking:
> $in = 1; $in | ConvertTo-Json -AsArray
[
1
]
# scalar 1 was treated as an array
> $in = 1, 2; $in | ConvertTo-Json -AsArray
[
1,
2
]
# Input that already is an array is left as-is
Awkward workaround, in the absence of -AsArray:
> $in = 1; , @($in) | ConvertTo-Json -AsArray
[
1
]
Environment data
Written as of PowerShell Core v6.0.1
Based on a suggestion by @AikenBM, welcomed by @SteveL-MSFT:
Similar to how
@(...)ensures treatment of any value as an array, it would be handy if an-AsArrayswitch could instructConvertTo-Jsonto treat its input as an [ultimately JSON] array, so you can guarantee that your pipeline input is treated as an array, even if it happens to be a single item only:Wishful thinking:
Awkward workaround, in the absence of
-AsArray:Environment data
Written as of PowerShell Core v6.0.1