接口返回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 ~]#
接口返回json的更多相关文章
- C#调用接口返回json数据中含有双引号 或其他非法字符的解决办法
这几天,调用别人接口返回json数据含有特殊符号(双引号),当转换成json对象总是报错, json字符格式如下 { "BOXINFO":[ { ", "ITE ...
- java通过url调用远程接口返回json数据
java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...
- 【Golang 接口自动化04】 解析接口返回JSON串
前言 上一次我们一起学习了如何解析接口返回的XML数据,这一次我们一起来学习JSON的解析方法. JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基 ...
- WebApi接口返回json,xml,text纯文本等
[Route("api/Message/MessageList/")] [HttpGet] public HttpResponseMessage MessageList() { R ...
- 使用layui异步请求上传图片在tp5.1环境下出现“请对上传接口返回json”的错误的解决方法
正常情况下返回json数据使用return json(); 但是使用layui会报错,然后想到了使用json_encode()包装一下用一个变量接收后,再使用return();返回接收json格式的变 ...
- 中国天气网接口返回json格式分析及接口(XML、图片接口)说明
实时天气: city "北京"//城市 cityid "101010100"//城市编码 temp "17&qu ...
- Asp-Net-Core开发笔记:接口返回json对象出现套娃递归问题
前言 看了下推送记录,一个月前,OK,我又变成月更了o(╯□╰)o,这绝对不行![○・`Д´・ ○] 所以今天来更新了 其实不是我懒得更新或者是太忙,其实是最近在写一篇很长的博客,一直没写完( Ĭ ^ ...
- 第3章 springboot接口返回json 3-1 SpringBoot构造并返回一个json对象
数据的使用主要还是以JSON为主,我们不会去使用XML. 这个时候我们先不使用@RestController,我们使用之前SpringMVC的那种方式,就是@Controller. @Respons ...
- c# 调用接口返回json
需要命名空间 using System.Net; using System.Net.Security using System.Security.Cryptography.X509Certificat ...
随机推荐
- LINQ 联合查询
List<Attachment> imgList = (from a in ZQSDWEBEntities.Attachment ...
- SQL Server 文件流文件组
背景: 文件流通过在文件系统上存储blob数据文件将数据库引擎与ntfs文件集成在一起,使用t-sql和win32访问数据. 文件流使用windows系统来缓存数据,有助于在减少文件流数据对sql s ...
- Hibernate防止SQL注入
如果在查询字段中输入单引号"'",则会报错,这是因为输入的单引号和其他的sql组合在一起编程了一个新的sql,实际上这就是SQL注入漏洞,后来我在前台和后台都对输入的字符进行了判断 ...
- java转换字符串的编码(转)
package com.Alex.base; import java.io.UnsupportedEncodingException; /** * 转换字符串的编码 */ public class C ...
- 微信的分享功能(针对web手机站页面进行的分享功能)
把这段js粘贴进,设置可以分享的页面,当微信打开,即可微信进行分享各个圈 $(function(){ var lujing=$("#logimg").attr("src& ...
- unity3d银联支付出现闪退
在接入银联SDK的unity3d的游戏中,点击银联支付会出现游戏总是出现闪退现象 ,后来网上有资料说 打开银联的jar包,将里面的res/drawable目录下的文件,拷贝到您的工程的drawable ...
- Jquery html页面处理基础
1.怎样获得浏览器的可视高度? var windHight = $(window).height(); //获得浏览器的可视高度 2.怎样获得滚动条相对于顶部的高度? var scrollHi ...
- 最短路(dijskra+SPFA+Bellman)
最短路 Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submissio ...
- Android中API建议的方式实现SQLite数据库的增、删、改、查的操作
package com.examp.use_SQLite.dao; import java.util.ArrayList; import java.util.List; import android. ...
- SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案
本文讲述 SharePoint 2013 讨论板列表"Connect to Outlook" 不可用解决方案. SharePoint中的讨论板列表是可以集成到Outlook里面去的 ...