17

我正在使用 Powershell 2.0(目前无法升级到 V3.0)并且我想阅读下面的 Json 对象。

"{\"DevResults\":[{\"TechnologyName\":\"AD\",\"RuleName\":\"SOA account (user logon/display name)\",\"OutputValue\":\"SOADevClientCenter\"},
                  {\"TechnologyName\":\"AD\",\"RuleName\":\"SOA account (pre-Windows 2000)\",\"OutputValue\":\"SOADevCliCen\"},
\"ProdResults\":[{\"TechnologyName\":\"AD\",\"RuleName\":\"SOA account (user logon/display name)\",\"OutputValue\":\"SOAClientCenter\"},                 
                 {\"TechnologyName\":\"AD\",\"RuleName\":\"BPM Service Account (pre-Windows 2000)\",\"OutputValue\":\"BPM_CliCen_05\"}]}"

你能帮我做同样的事情吗?

谢谢。

4

1 回答 1

30

您可能拥有可用的 System.Web.Extensions,因此您可以加载该程序集并使用可用的JSON 解析器。这是一个快速示例:

[System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$json = "{a:1,b:2,c:{nested:true}}"
$ser = New-Object System.Web.Script.Serialization.JavaScriptSerializer
$obj = $ser.DeserializeObject($json)

参考:http: //msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

于 2013-07-11T19:52:56.603 回答