go语言使用第三方包 json化结构体操作示例
2019/7/10 22:16:59
本文主要是介绍go语言使用第三方包 json化结构体操作示例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例讲述了go语言使用第三方包 json化结构体操作。分享给大家供大家参考,具体如下:
前提条件:安装好操作系统对应的git
go get -u github.com/pquerna/ffjson
-u参数:如果本地已经存在该包,则强制更新。
1、既然是把结构体转为json字符串,那么先来定义一个结构体
复制代码 代码如下:
// 定义一个结构体
type NewsModel struct {
Id int
Title string
}
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))
}
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"}
}
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语言使用第三方包 json化结构体操作示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23MongoDB身份认证机制揭秘!
- 2024-11-20MongoDB教程:从入门到实践详解
- 2024-11-17执行 Google Ads API 查询后返回的是空数组什么原因?-icode9专业技术文章分享
- 2024-11-17google广告数据不同经理账户下的凭证可以获取对方的api数据吗?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用