访问对象中因解析 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
看看 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