0

json応答を解析する必要がありますが、このコードで問題が発生しています。これを取り除くのを手伝ってください。

コード:

use strict;
use LWP::UserAgent;
use JSON qw( decode_json );
use Data::Dumper;

my $ua=LWP::UserAgent->new;
$ua->agent("firefox");

my $url="http://t-smos.com:8082/brand";
my $cont=&getContent($url);
my $decoded_json = decode_json( $cont );
#print Dumper $decoded_json;

print "Name: ", $decoded_json->{"name"},"\n";


sub getContent(){

    my $url1=shift;
    my $req=HTTP::Request->new("GET"=>$url1);

    $req->header("X-Service-Token" => "506ecf24abe467aa269a5d12");
    my $res=$ua->request($req);
    my $content=$res->content;
    return $content;
}

エラーが発生します。

Not a HASH reference in line 12. (print "Name: ", $decoded_json->{"name"},"\n";)

これは参照の問題ですか?

4

1 に答える 1

2

代わりにこれを試してください:

use strict;
use LWP::UserAgent;
use JSON qw( decode_json );
use Data::Dumper;

my $ua = LWP::UserAgent->new;
$ua->agent("firefox");

my $url = "http://t-smos.com:8082/brand";
my $response = $ua->get($url);
my $decoded_json = decode_json( $response->decoded_content );
print Dumper $decoded_json;

ノート

DumperPerl HASH の解析に問題がある場合は、サンプル出力を提供する必要があります。

于 2013-02-19T14:52:12.363 に答える