[英]How to create a valid empty JSON array with PowerShell?
将 arrays 转换为 PowerShell 中的 JSON 字符串再简单不过了:
@(1,2,3) | ConvertTo-Json
产生:
[
1,
2,
3
]
但是,如果数组为空,则结果为空字符串:
@() | ConvertTo-Json
结果是一个空字符串而不是[]
。
它没有流水线工作
PS C:\> ConvertTo-Json @()
[
]
这是一元逗号运算符的用例, https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_operators?view=powershell-7.2
管道将阵列分开。 在第一个示例中,数组在通过管道时被分解为 integer 个值(我不确定它在另一侧重新组装的实际机制是什么:如果管道在逻辑上看到三个整数组合在一起,或者如果它是由接收 cmdlet 本身完成的一些解释)。 无论如何,使用一元运算符 ',' 创建一个只有一个元素的数组。 当用作, @(1, 2, 3)
或, @()
时,它会创建一个容器数组,该数组仍然被管道分开,但子数组是被传递并保留的对象,以供解释通过 ConvertTo-Json cmdlet 正确。 假设您的数组存储在 $myArray 之类的变量中,以下通用代码适用于所有情况:
, $myArray | ConvertTo-Json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.