如何在Go 回應中解析並取消引用Unicode 字串
從API 接收JSON 回應時,您可能會遇到原始ASCII內容,而不是可讀的文字。這是因為某些 Unicode 字元是使用轉義序列進行編碼的,以確保與舊系統的兼容性。要正確解析和顯示這些字符,可以使用以下技術:
使用json 套件
json 套件提供了一種方便的方法來取消引用和解析Unicode 字符串。以下範例示範如何使用它:
var i interface{} err := json.Unmarshal([]byte(src), &i) if err != nil { fmt.Println(err) } fmt.Println(i)
將 JSON 回應解組到介面{}後,您可以輕鬆存取不含引號的 Unicode 值。
使用 strconv。 Unquote()
如果你只需要取消引用特定的Unicode字串,你可以使用 strconv.Unquote() 函數。此函數需要引號的字串作為輸入,並傳回不含引號的版本。例如:
fmt.Println(strconv.Unquote(`"\u7d20\u672a\u8c0b"`))
取消引用Unicode 的好處
注意:
strconv.Unquote()需要一個用引號引起來的字串。原始字串文字 (``) 可用來確保編譯器不會解釋轉義序列。
以上是如何正確處理 Go JSON 回應中的 Unicode 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!