JSON アンマーシャリングのために UTF-8 文字列をバイト配列に変換する
JSON 文字列をアンマーシャリングするには、バイト配列 ([]byte) を指定された関数への入力として使用します。この記事では、この目的のために UTF-8 文字列を []byte に変換する方法について説明します。
方法 1: 直接型変換
The Goこの言語では、単純な型キャストを使用して文字列を []byte に直接変換できます:
s := "some text" b := []byte(s) // b is of type []byte
このメソッドは言語仕様で認可されており、文字列を []byte は、文字列の個々のバイトを含むスライスになります。
方法 2: json.NewDecoder() で io.Reader を使用する
あるいは、io.Reader を json.NewDecoder() とともに利用することもできます。提供された io.Reader は、コピーを作成せずに文字列から読み取り、プロセスを最適化します。
s := `{"somekey":"somevalue"}` var result interface{} err := json.NewDecoder(strings.NewReader(s)).Decode(&result)このメソッドは、文字列の内容を
[ にコピーするオーバーヘッドを回避します。 ]byte、より大きな JSON テキストに適しています。
注: 小さな JSON 文字列の場合、[]byte(s) を使用した直接型変換は次のとおりです。
結論
この記事では、UTF-8 文字列を[]byte に変換する 2 つの方法を示します。 JSON アンマーシャリング: 直接型キャストし、json.NewDecoder() で io.Reader を使用します。採用する適切な方法は、特定のユースケースとデータ サイズによって異なります。
以上がGo で JSON アンマーシャリングのために UTF-8 文字列をバイト配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。