將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.Reader 和json.NewDecoder()。採用適當的方法取決於特定的用例和資料大小。
以上是如何在 Go 中將 UTF-8 字串轉換為位元組數組以進行 JSON 解組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!