go语言怎么把结构体转为json字符串

这篇文章主要介绍“go语言怎么把结构体转为json字符串”,在日常操作中,相信很多人在go语言怎么把结构体转为json字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”go语言怎么把结构体转为json字符串”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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语言怎么把结构体转为json字符串”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!