首頁 >後端開發 >Golang >如何在 Go JSON 中將 []byte 解碼為字串?

如何在 Go JSON 中將 []byte 解碼為字串?

Patricia Arquette
Patricia Arquette原創
2024-11-05 22:53:02644瀏覽

How to Decode []byte as Strings in Go JSON?

在Go 中將[]byte 解碼為字串

在Go 中,當將[]byte 切片編組為JSON 字串時,執行的轉換透過json.Marshal() 方法將位元組切片編碼為base64 編碼的字串。如文件中所示:

Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON object.

執行此轉換是為了彌補 JSON 中原始位元組的本機表示的缺乏。 Base64 編碼確保位元組切片作為有效的 JSON 字串進行傳輸。

克服編碼

使用 [] 的原始內容產生 JSON 字串位元組字段,資料必須在封送之前轉換為字串。這可以使用string() 函數來實現:

<code class="go">    helloStr := "Hello"
    helloSlc := []byte(helloStr)

    obj := Msg{string(helloSlc)}
    json, _ := json.Marshal(obj)
    fmt.Println(string(json))</code>

這將產生所需的輸出:

{"Content":"Hello"}

這種方法確保JSON 字串包含字串的原始內容,而不是其base64 編碼表示。

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

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