接口返回json
2016-03-25 13:41
513 查看
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语句解析代码
- 【总结】IE和Firefox的Javascript兼容性总结
- jsp学习笔记之servlet
- js input的限制和提示相结合的例子
- Extjs给TextField赋值
- 坑爹的prototype
- js 元素添加多个监听
- 写给 Rapid D3.js 的评论
- 写给 Rapid D3.js 的评论
- js 判断浏览器类型
- javascript中定时器,主要用来实现局部刷新技术,或者定时调用某方法
- js 自适应手机电脑 轮播图
- iframe父子页面相互调用的js方法
- Js清除空白节点
- 事件委托(js实现)
- JavaScript面向对象编程(对象创建)
- JavaScript学习笔记之创建对象
- JS实现的颜色实时渐变效果完整实例
- JavaScript小实例:拖拽应用(二)
- JavaScript学习笔记之ES6数组方法