smo*_*nff 12 perl json cpan perl-module
像往常一样,我很乐意处理CPAN,因为它得到了我们所需要的一切.像往常一样,我迷失了,因为有很多东西.
我可以自己找到核心JSON,并感受到JSON::Tiny另一个人的热情.
我的需求非常简单(从Open Library API解析东西),也许有一天会暴露我们自己的数据.
你喜欢这个任务的其他模块吗?
Mig*_*Prz 18
JSON模块就像一个冠军,但如果你需要一个更快的解析器,请使用这个:JSON :: XS,它需要一个本机编译.
请注意,JSON 2.0及更高版本仅仅是JSON :: XS(如果已安装)或JSON :: PP(后备)的前端.
ike*_*ami 12
我总是使用JSON :: XS.完整,强大,经过验证,快速*,易于使用,甚至在您需要时具有一定的灵活性.
它可能是最常用的JSON解析器,尽管大多数都通过JSON访问它(但这样做会冒险使用较慢的JSON :: PP).
* - 根据JSON :: Tiny的文档,比JSON :: Tiny快"一个数量级" .
Joe*_*ger 11
既然您说您从在线资源获取数据,您可能会考虑使用Mojolicious工具套件.通过这种方式,您可以获取数据,解析数据,甚至可以使用JSON指针来提取信息.
基础:
#!/usr/bin/env perl
use strict;
use warnings;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
my $data = $ua->get('http://openlibrary.org/search.json?title=perl%20modules')
->res
->json;
Run Code Online (Sandbox Code Playgroud)
使用url构造函数和JSON指针:
#!/usr/bin/env perl
use strict;
use warnings;
use v5.10;
use Mojo::URL;
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
my $url = Mojo::URL->new('http://openlibrary.org/search.json')
->query( title => 'perl modules' );
say $ua->get($url)
->res
->json('/docs/0/title_suggest');
Run Code Online (Sandbox Code Playgroud)
请注意,json响应对象上的方法要么返回整个已解析的数据结构,要么可以使用指针字符串(如第二个示例中所示)返回一个子集以使您快速前进.请享用.
我建议使用JSON :: MaybeXS - 使用Cpanel :: JSON :: XS并回退到 JSON :: XS和JSON :: PP.
Cpanel :: JSON :: XS 比JSON :: XS有所改进,因此JSON :: MaybeXS使您的代码更好,更便携.
通常我会看看Task :: Kensho,如果我不确定在特定情况下使用哪个模块,虽然他们目前没有JSON,我已经向他们报告了!
| 归档时间: |
|
| 查看次数: |
9241 次 |
| 最近记录: |