好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

go语言使用第三方包 json化结构体操作示例

本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:

前提条件:安装好操作系统对应的git

go get -u github测试数据/pquerna/ffjson

-u参数 :如果本地已经存在该包,则强制更新。

1、既然是把结构体转为json字符串,那么先来定义一个结构体

复制代码 代码如下:

// 定义一个结构体
type NewsModel struct {
?Id int
?Title string
}

2、且看ffjson这包用什么方法来把结构体转为json字符串

复制代码 代码如下:

func main()? {
?news := NewsModel{110,"hello"}
?res,err := ffjson.Marshal(news)
?if err != nil {
??fmt.Println("格式化错误")
??fmt.Println(err.Error())
??return
?}
?// 得到是字节数组,所以还有转为string
?fmt.Println(string(res))
}

打印:

{"Id":110,"Title":"hello"}

得到了一个json字符串

3、拓展

为结构体封装一个方法 ToJson() 专门来干这事

复制代码 代码如下:

package main
import (
?"fmt"
?"github测试数据/pquerna/ffjson/ffjson"
)
// 定义一个结构体
type NewsModel struct {
?Id int
?Title string
}
// 定义一个方法
func (news NewsModel) ToJson() string? {
?res,err := ffjson.Marshal(news)
?if err != nil {
??return? err.Error()
?}
?// 得到是字节数组,所以还有转为string
?return string(res)
}
func main()? {
?news := NewsModel{110,"hello"}
?fmt.Println(news.ToJson())?// 打印:{"Id":110,"Title":"hello"}
}

希望本文所述对大家go语言程序设计有所帮助。

查看更多关于go语言使用第三方包 json化结构体操作示例的详细内容...

  阅读:91次