Perl LWP returns JSON 输出为字符串
Perl LWP returns JSON output as string
我正在使用 Perl LWP::UserAgent 从 API 获得响应。除一个问题外,一切正常。
我正在使用的 API returns 响应 JSON 格式。但是当我通过 LWP 模块获得响应时,我得到的是字符串,如下所示。
$VAR1 = '
{"status":"success","data":[{"empid":"345232","customername":"Lee gates","dynamicid":"2342342332sd32423"},{"empid":"36.VLXP.013727..CBCL..","customername":"Lee subdirectories","dynamicid":"223f3423dsf23423423"}],"message":""}'
我做了“print Dumper $response
”来获得输出。
还有一件事,挑战是我的客户不想为 JSON 使用 Perl 模块(使用 JSON::Parse 'parse_json';)。
如有任何帮助,我们将不胜感激!
您需要将 JSON 字符串解码为 Perl 数据结构。如果您的 perl 版本是 5.14+,JSON::PP
包含在核心中,因此无需安装。
use warnings;
use strict;
use Data::Dumper;
use JSON::PP qw(decode_json);
my $json = '{"status":"success","data":[{"empid":"345232","customername":"Lee gates","dynamicid":"2342342332sd32423"},{"empid":"36.VLXP.013727..CBCL..","customername":"Lee subdirectories","dynamicid":"223f3423dsf23423423"}],"message":""}';
my $perl = decode_json $json;
print Dumper $perl;
输出:
$VAR1 = {
'status' => 'success',
'message' => '',
'data' => [
{
'dynamicid' => '2342342332sd32423',
'customername' => 'Lee gates',
'empid' => '345232'
},
{
'empid' => '36.VLXP.013727..CBCL..',
'customername' => 'Lee subdirectories',
'dynamicid' => '223f3423dsf23423423'
}
]
};
我正在使用 Perl LWP::UserAgent 从 API 获得响应。除一个问题外,一切正常。
我正在使用的 API returns 响应 JSON 格式。但是当我通过 LWP 模块获得响应时,我得到的是字符串,如下所示。
$VAR1 = '
{"status":"success","data":[{"empid":"345232","customername":"Lee gates","dynamicid":"2342342332sd32423"},{"empid":"36.VLXP.013727..CBCL..","customername":"Lee subdirectories","dynamicid":"223f3423dsf23423423"}],"message":""}'
我做了“print Dumper $response
”来获得输出。
还有一件事,挑战是我的客户不想为 JSON 使用 Perl 模块(使用 JSON::Parse 'parse_json';)。
如有任何帮助,我们将不胜感激!
您需要将 JSON 字符串解码为 Perl 数据结构。如果您的 perl 版本是 5.14+,JSON::PP
包含在核心中,因此无需安装。
use warnings;
use strict;
use Data::Dumper;
use JSON::PP qw(decode_json);
my $json = '{"status":"success","data":[{"empid":"345232","customername":"Lee gates","dynamicid":"2342342332sd32423"},{"empid":"36.VLXP.013727..CBCL..","customername":"Lee subdirectories","dynamicid":"223f3423dsf23423423"}],"message":""}';
my $perl = decode_json $json;
print Dumper $perl;
输出:
$VAR1 = {
'status' => 'success',
'message' => '',
'data' => [
{
'dynamicid' => '2342342332sd32423',
'customername' => 'Lee gates',
'empid' => '345232'
},
{
'empid' => '36.VLXP.013727..CBCL..',
'customername' => 'Lee subdirectories',
'dynamicid' => '223f3423dsf23423423'
}
]
};