JSON数据perl CGI脚本的错误处理

时间:2015-01-22 22:11:22

标签: json perl error-handling cgi

我是perl的新手,我在perl中编写一个简单的cgi脚本,读取Json数据..看起来像这样

use CGI;
use JSON;
use strict;

my $cgi = CGI->new;
my $error=0;
$cgi->param();

my $data = $cgi->param('POSTDATA')  || '{
    "field1":"value1",
    "field2":"value2"
}'; # Used a sample JSON with

my $json = JSON->new->utf8;
my $input = $json->decode ($data) || $error++;
my @errors=();

my %slots;
$slots{'coloumn1'} = $input->{'field1'} || $error++;
$slots{'coloumn2'} = $input->{'field2'} || $error++; # if there is no field2 in JSON it will increment value

if ( $error > 0)  {
    print $cgi->header('text/html','400 Bad Data');
    print "error with $data  ";
    exit;
}

如何为JSON执行更复杂的错误处理以检查它是否是有效的json字符串.....如果使用eval或其他方法在JSON字符串中缺少字段,则引发异常?

0 个答案:

没有答案