如何在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
相关产品推荐
相关产品推荐

