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

接口返回json的更多相关文章

  1. C#调用接口返回json数据中含有双引号 或其他非法字符的解决办法

    这几天,调用别人接口返回json数据含有特殊符号(双引号),当转换成json对象总是报错, json字符格式如下 { "BOXINFO":[ { ", "ITE ...

  2. java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  3. 【Golang 接口自动化04】 解析接口返回JSON串

    前言 上一次我们一起学习了如何解析接口返回的XML数据,这一次我们一起来学习JSON的解析方法. JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基 ...

  4. WebApi接口返回json,xml,text纯文本等

    [Route("api/Message/MessageList/")] [HttpGet] public HttpResponseMessage MessageList() { R ...

  5. 使用layui异步请求上传图片在tp5.1环境下出现“请对上传接口返回json”的错误的解决方法

    正常情况下返回json数据使用return json(); 但是使用layui会报错,然后想到了使用json_encode()包装一下用一个变量接收后,再使用return();返回接收json格式的变 ...

  6. 中国天气网接口返回json格式分析及接口(XML、图片接口)说明

    实时天气: city        "北京"//城市 cityid      "101010100"//城市编码 temp        "17&qu ...

  7. Asp-Net-Core开发笔记:接口返回json对象出现套娃递归问题

    前言 看了下推送记录,一个月前,OK,我又变成月更了o(╯□╰)o,这绝对不行![○・`Д´・ ○] 所以今天来更新了 其实不是我懒得更新或者是太忙,其实是最近在写一篇很长的博客,一直没写完( Ĭ ^ ...

  8. 第3章 springboot接口返回json 3-1 SpringBoot构造并返回一个json对象

    数据的使用主要还是以JSON为主,我们不会去使用XML. 这个时候我们先不使用@RestController,我们使用之前SpringMVC的那种方式,就是@Controller.  @Respons ...

  9. c# 调用接口返回json

    需要命名空间 using System.Net; using System.Net.Security using System.Security.Cryptography.X509Certificat ...

随机推荐

  1. LINQ 联合查询

    List<Attachment> imgList = (from a in ZQSDWEBEntities.Attachment                               ...

  2. SQL Server 文件流文件组

    背景: 文件流通过在文件系统上存储blob数据文件将数据库引擎与ntfs文件集成在一起,使用t-sql和win32访问数据. 文件流使用windows系统来缓存数据,有助于在减少文件流数据对sql s ...

  3. Hibernate防止SQL注入

    如果在查询字段中输入单引号"'",则会报错,这是因为输入的单引号和其他的sql组合在一起编程了一个新的sql,实际上这就是SQL注入漏洞,后来我在前台和后台都对输入的字符进行了判断 ...

  4. java转换字符串的编码(转)

    package com.Alex.base; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class C ...

  5. 微信的分享功能(针对web手机站页面进行的分享功能)

    把这段js粘贴进,设置可以分享的页面,当微信打开,即可微信进行分享各个圈 $(function(){ var lujing=$("#logimg").attr("src& ...

  6. unity3d银联支付出现闪退

    在接入银联SDK的unity3d的游戏中,点击银联支付会出现游戏总是出现闪退现象 ,后来网上有资料说 打开银联的jar包,将里面的res/drawable目录下的文件,拷贝到您的工程的drawable ...

  7. Jquery html页面处理基础

    1.怎样获得浏览器的可视高度?   var windHight = $(window).height(); //获得浏览器的可视高度 2.怎样获得滚动条相对于顶部的高度?   var scrollHi ...

  8. 最短路(dijskra+SPFA+Bellman)

    最短路 Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissio ...

  9. Android中API建议的方式实现SQLite数据库的增、删、改、查的操作

    package com.examp.use_SQLite.dao; import java.util.ArrayList; import java.util.List; import android. ...

  10. SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案

    本文讲述 SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案. SharePoint中的讨论板列表是可以集成到Outlook里面去的 ...