我是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字符串中缺少字段,则引发异常?