package main

import (
"fmt"
"net/http"
//"net/url"
"github.com/drone/routes"
"database/sql"
_ "github.com/go-sql-driver/mysql"
"encoding/json"
) var db = &sql.DB{} func init(){
var err interface{}
db, err = sql.Open("mysql", "root:123@tcp(localhost:3306)/mytest?charset=utf8")
if err!=nil{
fmt.Println("数据库连接出错")
}else{
fmt.Println("suc sql connect")
}
} type BaseRes struct{
Code int
Msg string
Data interface{}
} func (b BaseRes) sucSet(m string,c int) BaseRes{
b.Code=c
b.Msg=m
return b //这里要返回出去才能被外界访问,因为这是一个闭包
} type Article struct{
Title string
Author string
Time string
Content string
} type ArticleTwo struct{
Id int
Title string
Content string
} func testRoute(w http.ResponseWriter,r *http.Request){
var sid Article
sid.Title="第一女首富的最好时刻又来了"
sid.Author="周聪明"
sid.Time="2014-12-03"
sid.Content="十一年前的今天,当年的胡润百富榜发布,49岁的张茵拥有财富270亿元,成为中国第一位女首富,也是世界上最富有的女性白手起家者。当胡润公布首富人名时,场下只有两三"
var sendData BaseRes
sendData.Code=10000
sendData.Msg="success"
sendData.Data=sid
res,_:=json.Marshal(sendData)
fmt.Fprintln(w, string(res))
} func testRouteTwo(w http.ResponseWriter,r *http.Request){
rows, _ := db.Query("select * from article")
var a ArticleTwo
var arr []ArticleTwo //定义一个arr的数组用来存储ArticleTwo类型的数据
for rows.Next() {
rows.Scan(&a.Title, &a.Content, &a.Id) //存储ArticleTwo类型的数据
arr=append(arr,a) //循环加入数组中
}
var b BaseRes
b.Data=arr
b=b.sucSet("suc",10000)
res,_:=json.Marshal(b)
fmt.Fprintln(w, string(res))
} func main() {
fmt.Println("正在启动WEB服务...")
var mux *routes.RouteMux = routes.New()
mux.Get("/",testRoute)
mux.Get("/two",testRouteTwo) //http.Handle("/", mux)
http.ListenAndServe(":8088", mux)
fmt.Println("服务已停止")
}

  

go api json 输出尝试的更多相关文章

  1. Jackson如何使JSON输出变得优雅?

    本篇文章翻译自:How to enable pretty print JSON output (Jackson) 在这篇文章中,我们将教你如何利用Jackson Library在控制台或者JSP页面优 ...

  2. Springmvc 配置json输出的几种方式

    Spring MVC 3.0 返回JSON数据的几种方法: 1. 直接 PrintWriter 输出 2. 使用 JSP 视图 3. 使用Spring内置的支持 // Spring MVC 配置 &l ...

  3. FastJson/spring boot: json输出方法二

    1.引入FastJson依赖包 <!-- FastJson --> <dependency> <groupId>com.alibaba</groupId> ...

  4. FastJson/spring boot: json输出

    1.引入FastJson依赖包 <!-- FastJson --> <dependency> <groupId>com.alibaba</groupId> ...

  5. php api 接口输出json 数据

    页面调用接口,简单写个api 试试 如下 <?php $arr = array( array('url'=>'https://baidu.com'), array('map'=>'h ...

  6. 解决ASP.NET Web API Json对象循环参考错误

    前言 一般我们在开法 ASP.NET Web API 时,如果是使用 Entity Framework 技术来操作数据库的话,当两个 Entity 之间包含导览属性(Navigation Proper ...

  7. 快速搭建REST API——json server

    一:全局安装json-server npm install json-server -g 二:在自己项目跟目录下存放mock/data.json,json内容如下: { "roles&quo ...

  8. TP5内部异常API数据输出的自定义方法编写

    需求:利用postman进行请求api接口过程中 关于一些数据输出异常的情况下 我们希望通过自己编写一些类和方法 实现便于后端人员进行根据提示进行调试处理! 以下测试的时候 请设置 app_debug ...

  9. python 格式化 json输出

    利用python格式化json 字符串输出. $ echo '{"json":"obj"}' | python -m json.tool 利用python -m ...

随机推荐

  1. mysql查询出相同数据出现的次数,统计相同值的数量

    1.可以使用count SELECT count(name='A' OR NULL) FROM table 2.用sum SELECT sum(if( = 'A', 1, 0)) FROM table ...

  2. angularjs checkbox

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. java课堂笔记2

  4. Problem C: 类的初体验(III)

    Description 定义一个类Data,只有一个double类型的属性和如下4个方法: 1.   缺省构造函数,将属性初始化为0,并输出“Initialize a data 0”. 2.  带参构 ...

  5. Oracle创建视图的一个问题

    问题: 在用户user1中创建视图,查询内容包含user2下的表数据, 创建视图的时候提示“权限不足”.执行如下语句: --为USER1授权 GRANT CREATE ANY TABLE TO USE ...

  6. Linux ssh命令详解

    SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ...

  7. 神州数码OSPF路由协议

    实验要求:熟练掌握OSPF配置方法 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip addres ...

  8. C语言笔记变量与数据类型

    目录 1.转义字符 2.常量与变量 2.1 什么是常量和变量 2.2 内存 2.3 变量的内存机制 2.4 变量命名规则 2.5 变量的定义 2.6 常量的定义 2.7 计算机内存字节顺序 2.8 局 ...

  9. 4.python字符串格式化

    格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符.py ...

  10. mysql连接拍错总结

    1. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060)   ? 关闭网络防火墙.