Golang では、JSON データは次の手順で構造体に変換できます。JSON 属性名と一致するフィールド名を持つ構造体を定義し、json タグを使用して JSON フィールド名を指定します。 encoding/json パッケージの json.Unmarshal 関数を使用して、JSON 文字列を解析し、構造体へのポインターに変換します。解析エラーがないか確認します。構造体フィールドにアクセスしてデータを抽出します。
Golang で JSON データを構造体に変換する方法
はじめに
Golang は、JSON データを便利に処理するための encoding/json
パッケージを提供します。 JSON データを構造に変換できるため、JSON データへのアクセスと操作が簡単になります。 encoding/json
包来方便地处理 JSON 数据。它允许您将 JSON 数据转换为结构体,从而可以轻松地访问和操作 JSON 数据。
实战案例
假设您有一个 JSON 字符串:
{ "name": "John Doe", "age": 30, "occupation": "Software Engineer" }
并希望将其转换为一个结构体。以下是步骤:
type Person struct { Name string `json:"name"` Age int `json:"age"` Occupation string `json:"occupation"` }
struct
关键字创建了一个新的结构体类型。json
标签指定了 JSON 字段名称。import "encoding/json" var jsonStr = `{ "name": "John Doe", "age": 30, "occupation": "Software Engineer" }` var person Person err := json.Unmarshal([]byte(jsonStr), &person) if err != nil { // 处理错误 }
json.Unmarshal
函数解析 JSON 字符串并将其转换为指向结构体的指针。jsonStr
是 JSON 字符串。person
是目标结构体。Unmarshal
将返回该错误。fmt.Println(person.Name) // "John Doe" fmt.Println(person.Age) // 30 fmt.Println(person.Occupation) // "Software Engineer"
注意
json
标签。Unmarshal
struct
キーワードは、新しい構造タイプを作成します。 🎜json
タグは JSON フィールド名を指定します。 🎜🎜json.Unmarshal
関数は、JSON 文字列を解析して変換します。構造体へのポインタ。 🎜jsonStr
は JSON 文字列です。 🎜person
はターゲット構造です。 🎜Unmarshal
はそのエラーを返します。 🎜🎜json
タグを使用しない限り、JSON プロパティ名は構造体フィールド名と一致する必要があります。 🎜Unmarshal
でエラーがないか確認してください。 🎜🎜以上がJSON データを Golang の構造体に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。