本文实例讲述了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语言程序设计有所帮助。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
Go打包二进制文件的实现
背景众所周知,go语言可打包成目标平台二进制文件是其一大优势,如此go项目在服务器不需要配置go环境和依赖就可跑起来。操作需求:打包部署到centos7笔者打包...
[阅读全文]
-
-
-
-
golang语言编码规范的实现
本规范旨在为日常go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 ...
[阅读全文]
-
-
-
网友评论