簡體   English   中英

Perl LWP以字符串形式返回JSON輸出

[英]Perl LWP returns JSON output as string

我正在使用Perl LWP :: UserAgent從API獲得響應。 除了一個問題,一切都正常。

我正在使用的API以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 ”來獲取輸出。

另一件事是,挑戰是我的客戶不想使用Perl模塊獲取JSON(使用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'
                  }
                ]
    };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM