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

  • 相关阅读:
    LeetCode 623. Add One Row to Tree
    LeetCode 894. All Possible Full Binary Trees
    LeetCode 988. Smallest String Starting From Leaf
    LeetCode 979. Distribute Coins in Binary Tree
    LeetCode 814. Binary Tree Pruning
    LeetCode 951. Flip Equivalent Binary Trees
    LeetCode 426. Convert Binary Search Tree to Sorted Doubly Linked List
    LeetCode 889. Construct Binary Tree from Preorder and Postorder Traversal
    LeetCode 687. Longest Univalue Path
    LeetCode 428. Serialize and Deserialize N-ary Tree
  • 原文地址:https://www.cnblogs.com/zhaoyangjian724/p/6200257.html
Copyright © 2011-2022 走看看