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

PowerShell中将JSON数组写入文件时如何避免列表扁平化保留数组结构

问题根因

PowerShell管道默认会展开数组对象,你用@()创建的只有一个元素的数组通过管道传递给ConvertTo-Json时,管道会把内层的单个哈希表单独传给命令,ConvertTo-Json接收的输入是单个对象而非数组,最终输出自然就丢失了外层数组结构。

解决方案

有两种常用方法可以避免数组被管道展开,保留外层数组格式:

  • 方法1:使用逗号运算符强制把整个数组作为单个对象传入管道
,$json | ConvertTo-Json | Set-Content $filepath
  • 方法2:直接将数组作为-InputObject参数传入ConvertTo-Json,不走管道自动展开逻辑
ConvertTo-Json -InputObject $json | Set-Content $filepath

执行上述任意命令后,输出的JSON就会保留预期的外层数组括号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:24:08