我正在尝试在powershell 2.0中使用json字符串并将其转换为PowerShell对象。
$json = '{"test":"data","numerical":4,"nested":{"nested":true}}'
$ms = New-object IO.MemoryStream (,$utf8.GetBytes($json))
[type] $type = 'psobject'
$js = New-Object System.Runtime.Serialization.Json.DataContractJsonSerializer $type
write-host $js.ReadObject($ms)
这不会产生任何错误或输出。我该如何进一步调试?
答案 0 :(得分:4)
这不起作用,因为PSObject类型没有与JSON对象匹配的属性。
一种选择是创建与数据匹配的.NET类型或结构以接受转换。
第二个选项是convert the JSON to XML using this,然后使用PowerShell读取XML。
我能想到的第三个选项是使用this project直接转换为对象。
<强> [编辑] 强>
我也忘记了Jaykul汇总的剧本:JSON 1.7