PowerShell中使用ConvertTo-Json时如何添加"data"块?
解决PowerShell中ConvertTo-Json添加"data": []块的问题
嘿,这个需求其实很容易实现——你只需要把现有的对象数组包装到一个包含data属性的新对象里,再进行JSON转换就可以了!
这里给你两种简单的实现方式:
方法一:使用[PSCustomObject]创建包装对象
这是最直观的方式,直接构造一个自定义对象,把你的$var数组赋值给它的data属性:
# 假设你的$var已经是目标对象数组 $wrappedResult = [PSCustomObject]@{ data = $var } # 转换为你需要的JSON格式 $wrappedResult | ConvertTo-Json
方法二:利用哈希表快速转换
如果你喜欢更简洁的写法,也可以直接用哈希表来生成包装对象:
@{ data = $var } | ConvertTo-Json
补充说明:
如果你的对象有更深的嵌套结构,记得加上-Depth参数来避免JSON被截断(PowerShell默认的Depth是2),比如:
$wrappedResult | ConvertTo-Json -Depth 10
执行完上面的代码后,你就能得到想要的JSON格式:
{
"data": [
{
"controllerID": "0",
"DiskID": "0:1:0",
"cName": "PERCS130"
},
{
"controllerID": "0",
"DiskID": "0:1:1",
"cName": "PERCS130"
}
]
}
内容的提问来源于stack exchange,提问作者user13339470
相关产品推荐
相关产品推荐

