嘗試使用 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中文網其他相關文章!