访问对象中因解析 JSON 而产生的值

Accessing values in an object resulting of a parsed JSON

看看 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

我怎样才能只得到 return 113.55.212.113

看看:

$_.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