本文實例講述了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語言-為什么返回值為接口類型,卻返回結構體
- 關于Go 空結構體的 3 種使用場景