You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell正确提取JSON的tactics数组并输出逗号分隔值?

调整PowerShell代码实现数组的逗号分隔输出

我有如下JSON数据,尝试用PowerShell提取其中的tactics数组,但输出不符合预期:原本需要逗号分隔的形式,实际却是空格分隔的结果。

JSON数据:

{
  "displayName": "travel with mailbox permission",
  "tactics": [
    "InitialAccess",
    "PrivilegeEscalation"
  ],
  "techniques": [
    "T1078",
    "T1548"
  ]
}

原PowerShell代码:

param (
    [Parameter(Mandatory = $true)]
    # 存储资源详情的变量名称
    [string] $jsonvariable
)   
$json = Get-AutomationVariable -Name $jsonvariable
$jsonObject = ConvertFrom-Json -InputObject $json
        
echo $jsonObject.tactics

输出对比:

  • 预期输出:InitialAccess,PrivilegeEscalation
  • 实际输出:InitialAccess PrivilegeEscalation

问题原因

直接输出数组时,PowerShell默认会将数组元素以空格分隔输出,这是控制台输出的默认格式化逻辑。

修改后的代码

要得到逗号分隔的字符串,只需使用-join ','操作符将数组元素拼接起来,修改后的代码如下:

param (
    [Parameter(Mandatory = $true)]
    # 存储资源详情的变量名称
    [string] $jsonvariable
)   
$json = Get-AutomationVariable -Name $jsonvariable
$jsonObject = ConvertFrom-Json -InputObject $json
        
# 将数组元素用逗号拼接后输出
echo ($jsonObject.tactics -join ',')

说明

-join ','会把tactics数组中的每个元素用逗号连接成一个单一字符串,这样输出就会符合预期的逗号分隔格式。

内容的提问来源于stack exchange,提问作者dev333

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 21:25:51