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. oracle中日期类型 to_date 和to_timestamp什么区别啊?

    1.to_date() 和to_timestamp()区别 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒.如果要取到毫秒,oracle 9i以上版本,可以 ...

  2. Json 网络传递解析异常

    在项目中碰到一个bug,A项目请求B项目,获取到的Json无法解析,B项目封装的Json,在项目内部可以正常解析,问题并不是Json 解析的错误,而是实体Bean中有数组类型的字段;解决办法就是对封装 ...

  3. Python第一个GUI

    #!/usr/bin/python#coding=utf-8'''Created on 2017年11月2日 from home @author: James zhan ''' from functo ...

  4. 网络编程-day1

    一. *** C/S架构:客户端(client)/服务端(server)架构, B/S架构:浏览器(browser) / 服务端(server)架构 软件cs架构:浏览器,qq,微信,陌陌等等 硬件c ...

  5. java多线程之yield,join,wait,sleep的区别

    Java多线程之yield,join,wait,sleep的区别 Java多线程中,经常会遇到yield,join,wait和sleep方法.容易混淆他们的功能及作用.自己仔细研究了下,他们主要的区别 ...

  6. Java 作业6

    我总算,又双叒叕拾起了Java,啊! 1.编写一个JApplet程序,包含一个JLabel对象,并显示用户的姓名. package experiment; import java.awt.Border ...

  7. json&pickle序列化和软件开发规范

    json和pickle 用于序列化的两个模块 json   用于字符串和python数据类型间进行转换,json只支持列表,字典这样简单的数据类型 但是它不支持类,函数这样的数据类型转换 pickle ...

  8. springcloud Ribbon学习笔记一

    上篇已经介绍了如何开发eureka服务并让多个服务进行相互注册,接下来记录如何开发一个服务然后注册到eureka中并能通过ribbon成功被调用 开发一个用户服务并注册到eureka中,用户服务负责访 ...

  9. 马凯军201771010116《面向对象程序设计(java)》第四周学习总结

    第一部分:理论知识学习部分 第四章 1.类与对象的基础概念. 对象:即数据,对象有三个特性:行为 .状态.标识. 类是对象,事物的描述和抽象,是具有相同属性和行为的对象集合.对象则是该类事物的实例. ...

  10. Js/对数组的认识。

    1.是对数组的声明:   var auditTaskIds = []; 我一般的写法.   var auditTaskIds1 = [];  2.向数组中添加元素:   auditTaskIds.pu ...