php エディター Strawberry では、グループ化時の値の変換について紹介します。プログラミングにおいて、マーシャリング時の値の変換とは、異なるデータ型間で変換する操作を指します。値を変換すると、特定のニーズを満たすために、あるデータ型の値を別のデータ型に変換できます。たとえば、文字列を整数に変換したり、整数を文字列に変換したりします。値の変換は、プログラミングにおいて非常に一般的かつ重要な操作の 1 つです。変換された値の使用をマスターすると、コードの柔軟性と読みやすさが向上し、潜在的なエラーや問題も回避できます。次の記事では、マーシャリング時に変換値をより深く理解して適用できるように、さまざまなデータ型間の変換方法と考慮事項を詳しく紹介します。
以下のコードですが、アンマーシャリング時に名前を変換することは可能でしょうか?実際の JSON 内にあるかどうかに関係なく、常に小文字にしたいとします。
type Person struct { FirstName string `json:"first_name"` LastName string `json:"last_name"` } func main() { jsonText := GetJsonFromSomewhere() var v Person json.Unmarshal(jsonText, &v) }
これを実現する 1 つの方法は、encoding/json
パッケージ # インターフェイスから unmarshaler## を実装するカスタム タイプを作成することです。
これはこのインターフェイスへのリンクです。 unmarshaler を実装する任意の型は、JSON アンマーシャリングを行うときに構造体フィールドの型として使用できます。アンマーシャリングするとき、
encoding/json はインターフェイスの
unmarshaljson 関数の実装を使用して、json バイトをフィールド タイプに変換します。
unmarshaljson 関数を作成できます。
リーリー
次に、JSON マップの構造で、string の代わりにカスタム タイプを使用できます:
リーリー
string として使用するには、これらを string
に型変換して戻す必要があることにも注意してください) s)。
リーリー
これは、go プレイグラウンドで実行されている上記のコードです。
以上がマーシャリング時に値を変換するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。