校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > golang如何自定義json序列化應用詳解

golang如何自定義json序列化應用詳解

熱門標簽:學海導航地圖標注 浙江高速公路地圖標注 西部云谷一期地圖標注 中國地圖標注省會高清 廣州呼叫中心外呼系統 江西轉化率高的羿智云外呼系統 南通如皋申請開通400電話 地圖標注的汽車標 高德地圖標注口訣

前言

Go語言作為一個由Google開發,號稱互聯網的C語言的語言,自然也對JSON格式支持很好。下面這篇文章主要介紹了關于golang自定義json序列化應用的相關內容,下面話不多說了,來一起看看詳細的介紹吧

問題引入

當某個struct存在某個字段為string或者[]byte類型但是實際上保存的內容是json格式的數據時,對其進行json序列化,比如

type Message struct {
 From string  `json:"from"`
 To string  `json:"to"`
 Data string `json:"data"`
}

func main() {
 msg := Message{
  From: "XiaoMing",
  To: "LiGang",
  Data: `{"title":"test","body":"something"}`,
 }
 jsonData, err := json.Marshal(msg)
 if err != nil {
  panic(err)
 }
 fmt.Println(string(jsonData))
}

在上面的例子中,Data字段是string類型,但是保存的內容是json格式的數據,這個時候,程序輸出:

{"from":"XiaoMing","to":"LiGang","data":"{\"title\":\"test\",\"body\":\"something\"}"}

可以看到,序列化之后的data是一個字符串。

如果Message對應的是數據庫中的一張表,而data字段在數據庫中是json類型,當我們需要一個接口,查詢Message表中的記錄返回給客戶端。如果直接執行序列化,那么客戶端獲取到的Data實際上是一個字符串,客戶端還需要自行對這個字符串進行json反序列化。

這時候我們就會想,有沒有什么辦法能夠在服務端序列化Message時,將data字段序列化成json對象而不是字符串呢?

自定義序列化

因為data字段的值本身就是json類型,為什么不能在序列化時直接使用呢?

查看json包的官方文檔,我們可以發現關于 自定義序列化 的例子

當執行json序列化時,如果對應的類型實現了 Marshaler 接口:

type Marshaler interface {
 MarshalJSON() ([]byte, error)
}

那么就會執行其 MarshalJSON 方法,并將返回的字節數組作為該值的序列化值。

那么回到上面的例子,我們就很容易實現目標:

type JsonString string

func (j JsonString) MarshalJSON() ([]byte, error) {
 fmt.Println("marshal...")
 return []byte(j), nil
}

type Message struct {
 From string  `json:"from"`
 To string  `json:"to"`
 Data JsonString `json:"data"`
}

在上面的代碼中基于 string 類型聲明了 JsonString ,代表json格式的字符串,并實現了Marshaler接口。因為JsonString代表的就是json字符串,直接將其轉換成字節數組返回。

然后將Message中的Data字段換成JsonString類型。

再次執行程序,可以看到:

{"from":"XiaoMing","to":"LiGang","data":{"title":"test","body":"something"}}

Perfect!

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Python 之 Json序列化嵌套類方式
  • Python 將json序列化后的字符串轉換成字典(推薦)
  • SpringBoot Redis配置Fastjson進行序列化和反序列化實現
  • jQuery序列化form表單數據為JSON對象的實現方法
  • 特殊字符的json序列化總結大全
  • C#實體對象序列化成Json并讓字段的首字母小寫的兩種解決方法
  • .NET中JSON的序列化和反序列化的幾種方式
  • JSON序列化Redis讀取出錯問題解決方案

標簽:常州 曲靖 貴州 東營 保定 德宏 許昌 吐魯番

巨人網絡通訊聲明:本文標題《golang如何自定義json序列化應用詳解》,本文關鍵詞  golang,如何,自定義,json,序列化,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang如何自定義json序列化應用詳解》相關的同類信息!
  • 本頁收集關于golang如何自定義json序列化應用詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品国精品国产| 欧美在线free| 国产欧美日韩视频在线观看| 国产在线视频不卡二| 久久久不卡网国产精品一区| 激情综合色播激情啊| 久久精品无码一区二区三区 | 国产盗摄精品一区二区三区在线 | 中文字幕中文字幕在线一区| av午夜一区麻豆| 亚洲电影视频在线| 欧美xxxxx裸体时装秀| 国产精品一区二区黑丝| 亚洲欧洲成人精品av97| 欧美艳星brazzers| 免费成人你懂的| 国产色产综合产在线视频| 色香蕉成人二区免费| 日韩av电影免费观看高清完整版在线观看| 精品sm捆绑视频| 91视频国产观看| 麻豆精品一二三| 国产精品久久午夜夜伦鲁鲁| 欧美伦理影视网| 成人免费视频国产在线观看| 一区2区3区在线看| 久久综合久久鬼色中文字| 91亚洲精品乱码久久久久久蜜桃| 午夜在线电影亚洲一区| 久久人人爽爽爽人久久久| 91福利视频网站| 国产精一区二区三区| 亚洲mv在线观看| 国产欧美日韩精品a在线观看| 在线观看欧美黄色| 国产黄色精品网站| 日韩精品一二三四| 日韩理论片在线| 久久精品亚洲精品国产欧美| 欧美二区在线观看| av一区二区久久| 国产在线看一区| 亚洲国产婷婷综合在线精品| 国产欧美综合在线| 欧美videos大乳护士334| 在线精品视频一区二区| 国产麻豆91精品| 奇米色777欧美一区二区| 亚洲精品视频在线看| 久久精品日韩一区二区三区| 欧美肥大bbwbbw高潮| 91黄色在线观看| 99国产精品99久久久久久| 久草热8精品视频在线观看| 亚洲福利一区二区三区| 中文字幕亚洲区| 国产女人18毛片水真多成人如厕| 欧美一级欧美三级在线观看| 在线免费亚洲电影| 91丨porny丨国产| 粉嫩绯色av一区二区在线观看| 奇米影视一区二区三区小说| 亚洲五码中文字幕| 一区二区三区中文字幕在线观看| 国产精品久久久一本精品| 国产午夜精品久久久久久久 | 国产精品一级在线| 狠狠色丁香久久婷婷综| 男女男精品视频网| 日本亚洲免费观看| 毛片av一区二区| 久久国产精品免费| 精品一区二区免费视频| 天天综合网 天天综合色| 亚洲午夜精品网| 香蕉久久一区二区不卡无毒影院| 亚洲成av人影院| 日韩精品一级中文字幕精品视频免费观看 | 色94色欧美sute亚洲线路二 | 欧美日韩另类一区| 精品视频999| 91麻豆精品国产综合久久久久久| 欧美四级电影在线观看| 欧美日韩中文字幕精品| 亚洲国产精品影院| 亚洲午夜精品一区二区三区他趣| 亚洲一区二区高清| 一区二区三区不卡视频在线观看| 成人欧美一区二区三区1314| 日韩欧美aaaaaa| 26uuu久久天堂性欧美| 久久综合色之久久综合| 26uuu精品一区二区在线观看| 日韩欧美另类在线| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲精品国产精华液| 亚洲图片欧美综合| 激情五月播播久久久精品| 国产日韩在线不卡| 国产精品免费av| 中文字幕日韩一区二区| 一区二区三区欧美亚洲| 国产精品福利一区二区三区| 精品国产伦一区二区三区免费| 日韩一区二区中文字幕| 91视频www| 播五月开心婷婷综合| 成人av中文字幕| 91浏览器在线视频| 欧美一区二区久久久| 国产亚洲一本大道中文在线| 中文字幕一区二区不卡| 五月天亚洲婷婷| 国产99久久久国产精品潘金| 91黄色在线观看| 久久综合九色综合欧美就去吻 | 亚洲色图欧美偷拍| 日本视频一区二区三区| 成人性视频免费网站| 欧美日韩你懂的| 中文字幕成人av| 青青草成人在线观看| av电影在线观看不卡| 欧美一卡二卡在线| 亚洲日本成人在线观看| 寂寞少妇一区二区三区| 91黄色免费观看| 国产亚洲制服色| 日韩高清电影一区| 色综合久久久网| 久久精品亚洲国产奇米99| 亚洲国产精品久久久久婷婷884| 国产精品一区在线观看乱码| 欧美专区日韩专区| 国产精品青草久久| 久久成人免费日本黄色| 91福利视频网站| 国产精品成人一区二区艾草 | 欧美成人精品二区三区99精品| 亚洲美腿欧美偷拍| 国产综合久久久久久久久久久久| 欧美色爱综合网| 亚洲色图都市小说| 国产伦精一区二区三区| 91精品国产综合久久香蕉的特点| 中文字幕一区二区不卡| 国产精品亚洲综合一区在线观看| 欧美日韩国产高清一区二区 | 日本一区二区三区国色天香| 日韩1区2区日韩1区2区| 欧美在线一二三四区| 国产精品久久看| 成人app软件下载大全免费| 久久亚洲二区三区| 韩国v欧美v亚洲v日本v| 91精品婷婷国产综合久久性色| 一区二区三区在线观看动漫| 91热门视频在线观看| 国产精品欧美一级免费| 国产黄色精品网站| 国产日韩一级二级三级| 国产一区二区在线观看免费| 欧美一二区视频| 久久se精品一区精品二区| 日韩亚洲欧美在线| 麻豆精品一区二区综合av| 日韩三区在线观看| 美国毛片一区二区| 欧美一级理论片| 久久99热狠狠色一区二区| 精品久久久久一区| 国产成人自拍网| 国产精品久久久久久久岛一牛影视| 成人性生交大片免费看视频在线| 欧美国产亚洲另类动漫| 99精品在线免费| 亚洲一区二区精品视频| 欧美日本高清视频在线观看| 日韩av电影免费观看高清完整版| 日韩精品一区二区在线| 国产乱淫av一区二区三区| 久久精品人人做人人综合| 国产成人在线视频播放| 中文字幕免费不卡| 91女厕偷拍女厕偷拍高清| 一区二区三区欧美| 欧美在线三级电影| 日本不卡高清视频| 欧美精品一区二区精品网| 粉嫩高潮美女一区二区三区| 国产精品久久久久久妇女6080 | 日韩高清中文字幕一区| 欧美videos大乳护士334| 国产精品888| 亚洲久本草在线中文字幕| 在线成人高清不卡| 韩国一区二区在线观看| 国产精品天天摸av网| 欧亚洲嫩模精品一区三区| 久久99精品国产麻豆婷婷|