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

  • 相关阅读:
    Windows下压缩成tar.gz格式
    mysql 创建索引和删除索引
    jQuery鼠标事件
    MySql like模糊查询使用详解
    eclipse不能更改设置tomcat 中的ServerLocation问题
    eclipse安装tomcate插件步骤
    php折线图 布局图
    mysql 存储过程详解 存储过程
    解决Toad for Oracle显示乱码问题
    Readings in Databases
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6200257.html
Copyright © 2011-2022 走看看