PowerShell脚本未生成预期JSON输出问题求助
PowerShell生成指定JSON格式的修复方案
你的问题出在ConvertTo-Json的默认深度限制上。PowerShell默认只处理2层嵌套结构,而你的JSON需要3层嵌套(TestParam → 唯一ID节点 → ClientSecret子节点),导致深层结构被异常处理,输出不符合预期。
修改后的脚本如下:
$PartnerName="testparner" $ClientID="123-45-789" $DM=@{"5903-95856-24869-e43"=@{"CallerName"= $PartnerName;"ClientId"= $ClientID;"ClientSecret"= @{"KeyVaultSecretName"= "ClientSecret"}}} $jsonData = @{"TestParam"= $DM} # 指定Depth参数匹配嵌套层级,确保完整输出结构 $jsonString = $jsonData | ConvertTo-Json -Depth 3 $jsonString
执行后会输出符合预期的JSON:
{ "TestParam": { "5903-95856-24869-e43": { "CallerName": "testparner", "ClientId": "123-45-789", "ClientSecret": { "KeyVaultSecretName": "ClientSecret" } } } }
注意:如果后续有更深的嵌套结构,需要对应调整-Depth的数值,保证所有层级都能被正确序列化。
内容的提问来源于stack exchange,提问作者Sudharani
相关产品推荐
相关产品推荐

