【发布时间】:2018-01-02 05:55:05
【问题描述】:
我正在尝试使用以下代码从过滤后的 JSON 中仅提取 IP:
$curl = Invoke-WebRequest -Method Get -Uri "http://urltojson.com/file.json"
$curl2 = $curl.Content.Replace("Script", "Script_").Replace("iphone", "iphone_").Replace("android", "android_").Replace("ipad","ipad_") |
ConvertFrom-Json
$curl3 = $curl2 | Where-Object {$_.Name -eq "/Common/cloudfront_nets"} |
Select-Object -ExpandProperty data
$curl3
[System.Collections.ArrayList]$curl3[0] = $curl3
$curl3[1]
返回以下内容
13.59.250.0 255.255.255.192:区域:us-east-2-service:CLOUDFRONT 52.57.254.0 255.255.255.0:区域:eu-central-1-service:CLOUDFRONT 54.182.0.0 255.255.0.0:区域:全球服务:CLOUDFRONT 52.212.248.0 255.255.255.192:区域:eu-west-1-service:CLOUDFRONT 205.251.250.0 255.255.254.0:区域:全球服务:CLOUDFRONT 35.162.63.192 255.255.255.192:区域:us-west-2-service:CLOUDFRONT 13.32.0.0 255.254.0.0:区域:全球服务:CLOUDFRONT 205.251.254.0 255.255.255.0:区域:全球服务:CLOUDFRONT我正在努力简单地输出 IP(没有子网掩码)。
有人可以帮忙吗?
【问题讨论】:
-
我怀疑
$curl3的结构不是你想象的那样。$curl3 | Get-Member的输出是什么?
标签: json windows powershell scripting