我有一个简单的对象,其中1个参数是对象的ArrayList。我正在使用ConvertTo-Json
将此输出到Json。但即使我设置-Depth 1000
,我仍然会看到截断数据。
结构是:
Object
Property
Property - ArrayList of Object2.
对象2是一个简单的属性集合。
我看到的输出是:
{
"CheckDate": "03 February 2016 10:12:30",
"Versions": [
{
},
{
}
]
}
直接在ArrayList上调用convert,显示所有数据。看起来好像-Depth
参数没有被尊重并且被卡在2。
编辑:创建对象的代码
$returnValue = New-Object System.Object
$returnValue | Add-Member -type NoteProperty -name CheckDate -value (Get-Date).DateTime
$versions = New-Object System.Collections.ArrayList
# This bit is in a loop.
$app = New-Object System.Object
$app | Add-Member -type NoteProperty -Name Name -Value $name
$app | Add-Member -type NoteProperty -Name Version -Value $version
$versions.Add($app)
# Back out of the loop.
$returnValue | Add-Member -type NoteProperty -name Versions -value $versions
答案 0 :(得分:2)
使用PSObject
代替System.Object
。不幸的是,我无法提供任何细节,它是ConvertTo-Json
的一些内部“魔力”。有趣的是,使用PSObject
代替第二个System.Object
就足够了。