簡體   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