我有一个类型 FooObject
我有一个从a序列化的JSON文件 FooObject
实例。现在我想用 ConvertFrom-Json
将JSON文件加载到内存并将命令的输出转换为 FooObject
对象,然后在cmdlet中使用新对象 Set-Bar
只接受 FooObject
作为参数类型。
但我注意到了输出类型 ConvertFrom-Json
是 PSCustomObject
我没有找到任何转换方式 PSCustomObject
至 FooObject
。
尝试将自定义对象强制转换为 FooObject
:
$foo = [FooObject](Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json)
如果这不起作用,尝试构建 FooObject
具有输入对象属性的实例(假设类具有类似的构造函数):
$json = Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json
$foo = New-Object FooObject ($json.Foo, $json.Bar, $json.Baz)
如果这也不起作用,则需要创建一个空的 FooObject
实例并在之后更新其属性:
$json = Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json
$foo = New-Object FooObject
$foo.AA = $json.Foo
$foo.BB = $json.Bar
$foo.CC = $json.Baz
尝试将自定义对象强制转换为 FooObject
:
$foo = [FooObject](Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json)
如果这不起作用,尝试构建 FooObject
具有输入对象属性的实例(假设类具有类似的构造函数):
$json = Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json
$foo = New-Object FooObject ($json.Foo, $json.Bar, $json.Baz)
如果这也不起作用,则需要创建一个空的 FooObject
实例并在之后更新其属性:
$json = Get-Content 'C:\path\to\your.json' | Out-String | ConvertFrom-Json
$foo = New-Object FooObject
$foo.AA = $json.Foo
$foo.BB = $json.Bar
$foo.CC = $json.Baz