看看following JSON(太大了,不适合这里),我无法使用
获得价值[System.Reflection.Assembly]::LoadWithPartialName("System.Web.Extensions")
$ser = New-Object System.Web.Script.Serialization.JavaScriptSerializer
$jsonObj = $ser.DeserializeObject($json)
$jsonObj.servers | Where-Object {$_.name -EQ 'Tendaji'} | `
select-object { $_.ipv4addr }
我收到了
$_.ipv4Address
--------------
113.55.212.113
如何只返回113.55.212.113
?
答案 0 :(得分:1)
看看:
$_.ipv4Address | get-member
Get-Member -InputObject $_.ipv4Address
你可能有一个数组
$_.ipv4Address[0]
要忘记你的JSON中有错误:
"name": "Aboubacar""ipv4addr": "143.179.56.126"
应该是:
"name": "Aboubacar",
"ipv4addr": "143.179.56.126"
然后
$jsonObj.servers[0].ipv4addr
给出
113.55.212.113
因此,在您的代码中,您可以使用:
($jsonObj.servers | Where-Object {$_.name -EQ 'Tendaji'}).ipv4addr