首頁 >後端開發 >Golang >如何修正 JSON Unmarshal 中的「無效字元 'ï' 尋找值的開頭」錯誤?

如何修正 JSON Unmarshal 中的「無效字元 'ï' 尋找值的開頭」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-12-02 17:15:15415瀏覽

How to Fix

錯誤處理:解決 JSON Unmarshal 期間的無效字元錯誤

嘗試使用 json.Unmarshal 解組 JSON 輸出時,對 Microsoft Translator 的 Web 服務要求產生錯誤。遇到的具體錯誤是「尋找值開頭的字元『ï』無效。」

調查問題

檢查 JSON 回應作為字串後,很明顯資料看起來有效。然而,比較回應的位元組數組和手動整理的預期資料版本發現了差異。

問題的辨識

差異歸因於位元組順序標記的存在(BOM) 在回應中。 BOM 是一個特殊字符,用於標識文字檔案的編碼,在本例中為 UTF-8。

解析度

在解碼 JSON 回應之前需要刪除 BOM。這可以使用以下程式碼行來實現:

說明

bytes.TrimPrefix 函數從正文字節數組的開頭刪除BOM,從而允許後續的json.Unmarshal操作繼續進行,不會遇到無效字元錯誤。

結論

錯誤json.Unmarshal 期間「尋找值開頭的字元『ï』無效」可能是由 JSON 回應中的 BOM 引起的。使用 bytes.TrimPrefix 函數刪除 BOM 可解決該問題並允許成功解組資料。

以上是如何修正 JSON Unmarshal 中的「無效字元 'ï' 尋找值的開頭」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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