我class在 powershell 脚本中使用关键字。
我想序列化我的自定义类的实例,但我观察到$null成员被序列化为""而不是null.
再生产:
Class foo{
[string]$X
}
[foo]@{ x = $null } | ConvertTo-Json
$foo = New-Object foo
$foo.X = $null
$foo | ConvertTo-Json
输出:
{
"X": ""
}
{
"X": ""
}
但我期待:
{
"X": null
}
{
"X": null
}
作为旁注,这有效:
@{ X = $null } | ConvertTo-Json
它输出预期:
{
"X": null
}
有没有办法来解决这个问题 ?
PS:如果重要$PSVersionTable输出:
Name Value
---- -----
PSVersion 5.1.19041.546
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.546
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1