接口返回json

来源:互联网 发布:js mouseover event 编辑:程序博客网 时间:2024/05/18 21:50
use Mojolicious::Lite;use JSON qw/encode_json decode_json/;  # /foo?user=sri get '/api' => sub {   my $c = shift;     my $env = $c->param('env');           if ($env){              use DBI;my $dbName = 'oadb';  my $dbUser = 'query';  my $dbUserPass = 'xxxxxx';my @arr2="";  my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;my $hostSql = qq{select  IP,INFO,ENV from  machine_info  where ENV='env-$env' }; my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);  my $selStmt = $dbh->prepare($hostSql);  $selStmt->bind_columns( \$a1, \$a2, \$a3);  $selStmt->execute();  while( $selStmt->fetch() ){ push (@arr2, "$a1  $a2  $a3" );       };     my   $arr2=\@arr2;     my $json =encode_json($arr2);         $c->render(text => "$json");};};       app->start;   这个接口返回的是:[root@dr-mysql01 ~]# perl a1.pl ["","192.168.32.111  haproxy  env-zjtest2","192.168.32.178  front-end  env-zjtest2","192.168.32.180  backoffice  env-zjtest2","192.168.32.181  app  env-zjtest2","192.168.32.185  zjzc-mysql  env-zjtest2","192.168.32.186  pay-mysql  env-zjtest2","192.168.32.187  redis  env-zjtest2","192.168.32.182  nfs  env-zjtest2"]修改接口:use Mojolicious::Lite;use JSON qw/encode_json decode_json/;  # /foo?user=sri get '/api' => sub {   my $c = shift;     my $env = $c->param('env');           if ($env){              use DBI;my $dbName = 'oadb';  my $dbUser = 'query';  my $dbUserPass = 'kjk7787czcb';my @arr2="";  my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database " ;my $hostSql = qq{select  IP,INFO,ENV from  machine_info  where ENV='env-$env' }; my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9);  my $selStmt = $dbh->prepare($hostSql);  $selStmt->bind_columns( \$a1, \$a2, \$a3);  $selStmt->execute();  while( $selStmt->fetch() ){ push (@arr2, "$a1  $a2  $a3" );       };         $c->render(json => \@arr2);};};       app->start;   返回JSON:   ["","192.168.32.111  haproxy  env-zjtest2","192.168.32.178  front-end  env-zjtest2","192.168.32.180  backoffice  env-zjtest2","192.168.32.181  app  env-zjtest2","192.168.32.185  zjzc-mysql  env-zjtest2","192.168.32.186  pay-mysql  env-zjtest2","192.168.32.187  redis  env-zjtest2","192.168.32.182  nfs  env-zjtest2"][root@dr-mysql01 ~]# 

0 0
原创粉丝点击