這篇文章主要介紹“go語言怎么把結(jié)構(gòu)體轉(zhuǎn)為json字符串”,在日常操作中,相信很多人在go語言怎么把結(jié)構(gòu)體轉(zhuǎn)為json字符串問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”go語言怎么把結(jié)構(gòu)體轉(zhuǎn)為json字符串”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
貞豐ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
1、既然是把結(jié)構(gòu)體轉(zhuǎn)為json字符串,那么先來定義一個結(jié)構(gòu)體
復(fù)制代碼 代碼如下:
// 定義一個結(jié)構(gòu)體
type NewsModel struct {
Id int
Title string
}
2、且看ffjson這包用什么方法來把結(jié)構(gòu)體轉(zhuǎn)為json字符串
復(fù)制代碼 代碼如下:
func main() {
news := NewsModel{110,"hello"}
res,err := ffjson.Marshal(news)
if err != nil {
fmt.Println("格式化錯誤")
fmt.Println(err.Error())
return
}
// 得到是字節(jié)數(shù)組,所以還有轉(zhuǎn)為string
fmt.Println(string(res))
}
打印:
{"Id":110,"Title":"hello"}
得到了一個json字符串
3、拓展
為結(jié)構(gòu)體封裝一個方法ToJson()
專門來干這事
復(fù)制代碼 代碼如下:
package main
import (
"fmt"
"github.com/pquerna/ffjson/ffjson"
)
// 定義一個結(jié)構(gòu)體
type NewsModel struct {
Id int
Title string
}
// 定義一個方法
func (news NewsModel) ToJson() string {
res,err := ffjson.Marshal(news)
if err != nil {
return err.Error()
}
// 得到是字節(jié)數(shù)組,所以還有轉(zhuǎn)為string
return string(res)
}
func main() {
news := NewsModel{110,"hello"}
fmt.Println(news.ToJson()) // 打?。簕"Id":110,"Title":"hello"}
}
到此,關(guān)于“go語言怎么把結(jié)構(gòu)體轉(zhuǎn)為json字符串”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!