首頁  >  文章  >  後端開發  >  如何在 Go JSON 編碼中將 []byte 欄位編組為字串?

如何在 Go JSON 編碼中將 []byte 欄位編組為字串?

Linda Hamilton
Linda Hamilton原創
2024-11-07 03:29:02954瀏覽

How to Marshal a []byte Field as a String in Go JSON Encoding?

在Go 中將JSON []byte 編組為字串

將包含[]byte 欄位的結構編碼為JSON 時,可能會出現意外的字串表示形式結果。在此編碼中,[]byte 欄位被編組為base64 編碼的字串,如文件中所述:

「數組和切片值編碼為JSON 數組,但[]byte 編碼為base64-編碼字符串,nil 切片編碼為空JSON 物件。 ]byte 切片helloSlc 並指派給obj Msg 物件的Content 欄位:

使用json.Marshal 將obj 編碼為JSON 時,產生的JSON 包含base64 編碼的字串[]byte 欄位的表示:

輸出:

要取得JSON 輸出中的原始字串值“Hello”,需要將[]byte 欄位表示為在編碼為JSON 之前從其Base64編碼表示顯式解碼。這可以使用編碼/base64套件來實現:

輸出:

以上是如何在 Go JSON 編碼中將 []byte 欄位編組為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn