ConvertTo-Json截断对象

时间:2016-02-03 10:18:53

标签: json powershell

我有一个简单的对象,其中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

1 个答案:

答案 0 :(得分:2)

使用PSObject代替System.Object。不幸的是,我无法提供任何细节,它是ConvertTo-Json的一些内部“魔力”。有趣的是,使用PSObject代替第二个System.Object就足够了。