將UTF-8 字串解組為[]byte
使用JSON 時,解組函數需要[]byte 類型的輸入。但是,我們的資料可以儲存為 UTF-8 字串。本文探討如何將 UTF-8 字串轉換為 []byte 以成功解組。
使用[]byte(s) 轉換
根據Go 規範,可以使用簡單的轉換將字串轉換為[]byte:
<code class="go">s := "some text" b := []byte(s)</code>
但是,此轉換會建立字串內容的副本,這對於大型字串來說效率較低。
使用io.Reader 進行高效解組
另一種方法是使用從字串建立的io.Reader:
<code class="go">s := `{"somekey":"somevalue"}` reader := strings.NewReader(s) decoder := json.NewDecoder(reader) var result interface{} decoder.Decode(&result)</code>
此方法避免了複製字串和對於大輸入效率更高。
不同場景的注意事項
綜上所述,轉換 UTF-8 字串to []byte 進行解組涉及直接轉換或使用 io.Reader 來有效處理大輸入。選擇取決於應用程式的特定要求。
以上是如何在 Go 中將 UTF-8 字串轉換為 []byte 以進行 JSON 解組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!