本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:
前提条件:安装好操作系统对应的git
go get -u github.com/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.com/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语言程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- [In-Akustik7506]ReferenceSoundEdition-GreatWomenOfSong(2014)HQCD[WAV+CUE]
- 日本EMI超级名盘TOGE-11035-36BeethovenFidelio-Furtwngler
- 宝丽金50周年2010《古典篇》3CD限定盘[低速原抓WAV+CUE]
- 华纳群星.1992-永远新一天华纳15周年金钻群星演唱会2CD【华纳】【WAV+CUE】
- 原声《功夫熊猫4 OST》[FLAC][545M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- Taylor Swift《THE TORTURED POETS DEPARTMENT- THE ANTHOLOGY》[320K/MP3][279.09MB]
- 崔健《85回顾+梦中的倾诉》2CD [WAV+CUE][771M]
- 群星《安桥试音碟》3CD[FLAC][1.1G]
- Taylor Swift《THE TORTURED POETS DEPARTMENT- THE ANTHOLOGY》][24bit 48kH][FLAC/分轨]
- 群星1995-阿诗玛·中国歌剧金曲[中唱][WAV+CUE]
- [JVC]吴文光-中国古琴:流水[FLAC分轨]
- 刘欢.2004-经典20年珍藏锦集【新索】【WAV+CUE】
- 中唱唱片群星《好歌珍藏-游子情深》2CDWAV
- CD圣经上榜天碟1995-乌仁娜-《蒙古草原之歌》[WAV+CUE].