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. scrapy python2升级python3遇到的坑

    换成Python3首先pycharm先执行: 然后看代码自己所需要的第三方库都要重新装 然后执行代码: 遇到这样的错如下: SyntaxError: invalid syntax 先检查print 所 ...

  2. javascript接口注释法

    //注释法//简单,功能弱 利用 大型的项目靠得是规范和标准 有充分时间 缺点:人为的遵守/** interface personDao{* function add(obj);* function ...

  3. 【Java集合系列三】Vector-Stack解析

    2017-07-29 12:59:14 一.简介 1.Vector继承关系 2.Vector类扩容 Vector类的实现和ArrayList极其相似,都使用数组存储元素,但是扩容策略不一样,Array ...

  4. 基于vue的实战步骤

    1.脚手架vue-cli安装 npm install -g vue-cli (npm init -f 生成package.json文件) vue init webpack myapp cd myapp ...

  5. 合并分支,从dev到master

    我在本地创建了dev分支,项目也push到远程的dev分支,今天在远程分支进行合并时,将dev合并到master,结果公司的gitlab始终不响应,我不知道是公司的网络不行还是我操作错误,就只能另想办 ...

  6. NVMe协议1.3c(一) 概述

    刚开始接触NVMe,对此理解不深,如有错误敬请指出 1.1概述 NVM ExpressTM(NVMeTM)接口允许主机软件与非易失性存储器子系统通信. 此接口针对企业和客户端固态驱动器进行了优化,通常 ...

  7. Android开发 ---多线程操作:Handler对象,消息队列,异步任务下载

    效果图: 1.activity_main.xml 描述:定义了六个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  8. windows下telnet不是内部或外部命令

    选择“程序和功能” 设置完后

  9. Jmeter的察看结果树 出现乱码的解决方法

    在apache-jmeter-3.0\bin目录下, 用Notepad工具打开jmeter.properties文件 在文件中搜索encoding,可以搜素到1030行: #sampleresult. ...

  10. 1--Postman使用token进行批量测试

    1. 先执行登陆接口,查看返回token是再响应头还是再响应体 有的返回再响应头中,有的再响应体中 2.设置环境变量token,并从登陆接口获取token赋值给环江变量 第一步:创建环境变量,值为空即 ...