0

使用 Perl,我从 API 调用中获得了一个基于字典的字典keyvalue

use strict;
use warnings;

use LWP::Simple;
my $url = "http://example.com/?id=124341";
my $content = get($url);
$content =~ s/ /%20/g;
print $content;


{"id":"85710","name":"jack","friends":["james","sam","Michael","charlie"]}

我如何解析它以获得如下结果?

name : jack
hist friend list :
james
sam
Michael
charlie

谢谢!

4

3 回答 3

3
use strict;
use warnings;
use JSON 'decode_json';

my $content = '{"id":"85710","name":"jack","friends":["james","sam","Michael","charlie"]}';

my $person = decode_json($content);
print "name : $person->{'name'}\n";
print "his friend list :\n";
for my $friend ( @{ $person->{'friends'} } ) {
    print "$friend\n";
}
于 2013-11-12T08:33:05.637 回答
2
use JSON; # imports encode_json, decode_json, to_json and from_json.


my $href  = decode_json($content);

use Data::Dumper; print Dumper $href;
于 2013-11-12T07:48:28.823 回答
2
use JSON::Tiny 'j';

my $data = j $content;

printf <<TEMPLATE, $data->{name}, join( "\n", @{ $data->{friends} } );
name : %s
his friend list:
%s
TEMPLATE
于 2013-11-12T08:24:34.680 回答