如何从Web API获取数据?

时间:2016-06-07 15:12:01

标签: json perl api lwp

我在Perl非常基础,我需要为我的大学制作一个项目。

我想从某个链接下载数据,它是JSON数据,所以我知道我必须使用CPAN中的JSON::Parse模块。

但是如何下载链接内容到我的Perl变量?我应该使用LWP get()吗?

1 个答案:

答案 0 :(得分:3)

如果是大学项目,你不应该学习 Perl吗?

无论如何,你的程序看起来像这样。它使用LWP::Simple模块获取JSON数据,然后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