如何从网络 API 获取数据?
How do I get data from a web API?
我的 Perl 很基础,我需要为我的大学做一个项目。
我想从某个 link 下载数据,它是 JSON 数据,所以我知道我必须使用来自 CPAN 的 JSON::Parse
模块。
但是如何将link的内容下载到我的Perl变量中呢?我应该使用 LWP
get()
吗?
如果是大学项目,你不应该学习 Perl 吗?
无论如何,您的程序将如下所示。它使用LWP::Simple
module to fetch the JSON data, and then JSON::Parse
将其处理成Perl数据结构
我已经按照您评论中的要求打印了数组中每个项目的 author
值
use strict;
use warnings 'all';
use LWP::Simple 'get';
use JSON::Parse 'parse_json';
use constant URL => 'http://a.wykop.pl/observatory/entries/appkey,dJ4w7fXYpL';
my $json = get URL or die "Unable to get JSON data";
my $data = parse_json($json);
print "Authors:\n";
print " $_->{author}\n" for @$data;
输出
Authors:
Snurq
AferaZaAfera
Devest
igorsped
Matt23
labla
poprawnie-niepoprawny
Parkero
Speed666
Xune
Gasior9
mikolajeq
Aztek2201
blogerbezbloga
Pan_wons
PanKaczucha
NieznanyAleAmbitny
dzika_kaczka_bez_dzioba
ilili
Bager
bmbcz01
hydrocyfolumpus
acarter
Doctor_Manhattan
strumienzgor
我的 Perl 很基础,我需要为我的大学做一个项目。
我想从某个 link 下载数据,它是 JSON 数据,所以我知道我必须使用来自 CPAN 的 JSON::Parse
模块。
但是如何将link的内容下载到我的Perl变量中呢?我应该使用 LWP
get()
吗?
如果是大学项目,你不应该学习 Perl 吗?
无论如何,您的程序将如下所示。它使用LWP::Simple
module to fetch the JSON data, and then JSON::Parse
将其处理成Perl数据结构
我已经按照您评论中的要求打印了数组中每个项目的 author
值
use strict;
use warnings 'all';
use LWP::Simple 'get';
use JSON::Parse 'parse_json';
use constant URL => 'http://a.wykop.pl/observatory/entries/appkey,dJ4w7fXYpL';
my $json = get URL or die "Unable to get JSON data";
my $data = parse_json($json);
print "Authors:\n";
print " $_->{author}\n" for @$data;
输出
Authors:
Snurq
AferaZaAfera
Devest
igorsped
Matt23
labla
poprawnie-niepoprawny
Parkero
Speed666
Xune
Gasior9
mikolajeq
Aztek2201
blogerbezbloga
Pan_wons
PanKaczucha
NieznanyAleAmbitny
dzika_kaczka_bez_dzioba
ilili
Bager
bmbcz01
hydrocyfolumpus
acarter
Doctor_Manhattan
strumienzgor