首頁 > 後端開發 > Golang > 主體

如何在 Go 中將 UTF-8 字串轉換為位元組數組以進行 JSON 解組?

Patricia Arquette
發布: 2024-10-30 13:27:04
原創
278 人瀏覽過

How to Convert UTF-8 Strings to Byte Arrays for JSON Unmarshaling in Go?

將UTF-8 字串轉換為位元組數組以進行JSON 解組

要解組JSON 字串,必須提供一個位元組數組([]byte) 作為指定函數的輸入。為此,本文探討了將 UTF-8 字串轉換為 []byte 的方法。

方法1:直接型別轉換

Go語言允許使用簡單的型別轉換將字串直接轉換為[]byte

s := "some text"
b := []byte(s) // b is of type []byte
登入後複製

此方法受到語言規範的認可,其中規定將字串轉換為[]byte 產生包含字串各個位元組的切片。

方法2:使用io.Reader 和json.NewDecoder()

或者,io.Reader 可以與json.NewDecoder () 一起使用。提供的io.Reader 將從字串中讀取而不創建副本,優化了過程:

s := `{"somekey":"somevalue"}`

var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&result)
登入後複製

此方法避免了將字串內容複製到[ ]byte,更適合較大的JSON 文本。

注意: 對於較小的JSON 字串,使用[]byte(s) 進行直接類型轉換是仍然是一個可行的選擇,對效能的影響可以忽略不計。

結論

本文示範了兩種將UTF-8 字串轉換為[]byte 的方法JSON 解組:直接型別轉換並使用io.Readerjson.NewDecoder()。採用適當的方法取決於特定的用例和資料大小。

以上是如何在 Go 中將 UTF-8 字串轉換為位元組數組以進行 JSON 解組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!