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 中国語 Web サイトの他の関連記事を参照してください。