从Perl中解码的JSON解析request_uri头的方法

时间:2013-10-02 16:07:05

标签: perl rest

好的,这就是我们正在做的事情。我们正在查看json请求/响应字符串。

代码段(假设使用了相关模块):

 if( open( my $json_file, $filename ))
 {
    my $json = JSON->new;
    my $data = $json->decode(<$json_file>);
    close( json_file );
    $request_uri = $data->{'input'}{'Headers'}{'REQUEST_URI'}; 
 }

所以$ request_uri看起来像

 /user/12345?param1=4&param2=9956

虽然我可以使用正则表达式或其他任何东西从中提取数据,但我确信这是一种常见的情况,并且应该有一种方法将这个特定的REST解析为其部分,然后将它们解压缩出来。我在REST手册中没有看到这一点,这似乎更多是关于构造请求。

1 个答案:

答案 0 :(得分:6)

使用URI模块。

my $request_uri = URI->new( $data->{'input'}{'Headers'}{'REQUEST_URI'} );

my $path  = $request_uri->path;
my $query = $request_uri->query;
# etc