將UTF-8 字串解組為[]byte
使用JSON 時,解組函數需要[]byte 類型的輸入。但是,我們的資料可以儲存為 UTF-8 字串。本文探討如何將 UTF-8 字串轉換為 []byte 以成功解組。
使用[]byte(s)
根據Go 規範進行轉換,可以使用簡單的轉換將字串轉換為[]byte:
s := "some text"
b := []byte(s)
但是,此轉換會建立字串內容的副本,這對於大字串來說效率較低。
使用io.Reader 提高效率Unmarshal
另一種方法是使用從字串:
s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
此方法避免了複製字串,對於大輸入效率更高。
不同場景的注意事項
總而言之,將 UTF-8 字串轉換為 []byte 進行解組涉及直接轉換或使用io.Reader 用於高效處理大輸入。選擇取決於應用程式的特定要求。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3