Powershell中请求WebServices并以JSON格式输出结果(powershell教程菜鸟教程)太疯狂了

随心笔谈2年前发布 admin
199 0 0

文章摘要

这篇文章介绍了如何使用Powershell脚本来调用Web服务获取JSON格式的数据。通过`Invoke-WebRequest`命令发送网络请求并接收返回结果,然后使用`ConvertFrom-Json`将JSON数据解析为对象。文章以德铁网为例,展示了输入部分火车站名称后,可以获取多个相关车站信息。这种方法可以应用于其他场景,帮助提取和分析结构化数据。文章还推荐了相关学习资源,供进一步探索。



适用于PS3.0及以后版本。

这里可以用JSON格式从网上得到大量的信息,下面例子演示如何将网上查到的结果转换成JSON对象。

这个例子使用了一个德国铁路公司的网站,你可以输入一个火车站的名字或城市,他将返回你想要去的类似所有车站名称。

复制代码 代码如下:

# ask for part of the train station name

$name=Read-Host ‘Enter part of train station Name’

# query webservice

$url=”http://openbahnapi.appspot.com/rest/stations/list?contains=$name”

$site=Invoke-WebRequest -Uri $url

# get JSON result

($site.Content | ConvertFrom-Json ).value

这个结果类似如下:

复制代码 代码如下:

PS> Enter part of train station name: hanno

Hannover Hbf

HANNOVER MESSE

Hannoversch Münden

Hannover-Nordstadt

Hannover Bismarckstr.

Hannover Karl-Wiechert-Allee

Hannover-Ledeburg

Hannover-Linden/Fischerhof

Hannover-Vinnhorst

Hannover-Leinhausen

Hannover Anderten-Misburg

Hannover-Bornum

PS>

这个例子不是要教你去查询德国铁路,所以如果你对此不感兴趣,可以修改成别的应用:

Invoke-WebRequest是一个重要部分,它包含Web服务返回的结果;同时ConvertFrom-Json 也相当重要,它可以将结果转化成对象。

注意Web服务的处理变化,这里只是一个用例。

您可能感兴趣的文章:shell学习之printf命令格式化输出语句Powershell展开对象数据结构并以JSON格式输出PowerShell中使用Get-Date获取日期时间并格式化输出的例子shell脚本设置日志格式的方法赌博

© 版权声明

相关文章