当前位置: 移动技术网 > IT编程>脚本编程>Go语言 > go语言使用第三方包 json化结构体操作示例

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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语言程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网