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

如何在PowerShell及AZ CLI中格式化嵌套JSON以发起REST请求?

在PowerShell中格式化嵌套JSON的方法

针对你提供的嵌套JSON,以下是几种在PowerShell中完成格式化的实用方法:

1. 直接处理JSON字符串

如果你的JSON是以字符串形式存在,可通过ConvertFrom-Json和ConvertTo-Json的组合完成格式化:

# 定义原始JSON字符串(用单引号包裹,避免PowerShell解析内部双引号)
$rawJson = '{"Id":"1234","Name":"acme","Model":{"CustId":"789","CustName":"","Roles": ["admin"]},"SubscriptionId":1,"Email":"cust@test.com"}'

# 格式化JSON,-Depth确保嵌套结构不被截断,-Compress:$false输出多行格式化结构
$formattedJson = $rawJson | ConvertFrom-Json | ConvertTo-Json -Depth 10 -Compress:$false

# 输出格式化后的结果
$formattedJson

执行后会得到标准格式化输出:

{
    "Id":  "1234",
    "Name":  "acme",
    "Model":  {
                  "CustId":  "789",
                  "CustName":  "",
                  "Roles":  [
                                "admin"
                            ]
              },
    "SubscriptionId":  1,
    "Email":  "cust@test.com"
}

2. 处理本地JSON文件

如果JSON存储在本地文件中,可直接读取并格式化后保存:

# 读取输入文件,格式化后写入新文件
Get-Content -Path "input.json" -Raw | ConvertFrom-Json | ConvertTo-Json -Depth 10 | Set-Content -Path "formatted.json"

关键注意事项

  • -Depth参数需设置为大于你的JSON嵌套层级的值(示例中用10足够覆盖大多数场景),否则嵌套较深的结构会被截断为{}。
  • 若原始JSON存在语法错误,ConvertFrom-Json会抛出错误,需先确保JSON语法合法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:02:13