zoukankan      html  css  js  c++  java
  • 接口返回json

    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 ~]# 
    

  • 相关阅读:
    ArcEngine:GP使用!没道理的错误!
    XMLHttpRequest的亲密接触(1)——简单讲解
    XMLHttpRequest的亲密接触(2.2)——表单提交
    初入Ajax,需要明确的Web工作原理
    文章收藏明细
    【备忘】Oracle10g 创建、删除表空间、创建、授权用户
    proxool的使用总结
    Java操作压缩与解压缩
    解决jquery ui dialog中调用datepicker时日期选择控件被遮挡的问题
    如何读取jar包中的xml等资源文件
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6200256.html
Copyright © 2011-2022 走看看