繁体   English   中英

如何用 PowerShell 创建一个有效的空 JSON 数组?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM