golang で json.Unmarshal 関数を使用して JSON 文字列をマップに解析する
golang では、json.Unmarshal 関数を使用して JSON 文字列をマップに解析できます。 json.Unmarshal は、JSON データを go 値にデコードする関数です。その基本的な構文は次のとおりです:
func Unmarshal(data []byte, v interface{}) error
ここで、data は解析される JSON 文字列、v は解析結果を保存するために使用される go 値です。
以下では、特定のコード例を使用して、json.Unmarshal 関数を使用して JSON 文字列を解析してマップにする方法を示します。
まず、必要なパッケージをインポートする必要があります:
import ( "encoding/json" "fmt" )
次に、解析結果を保存する構造を定義します。 JSON 文字列をマップに解析するため、空のインターフェイス タイプを構造体フィールドのタイプとして使用して、さまざまなタイプのデータを保存できます。
type JsonMap struct { Data map[string]interface{} `json:"data"` }
次に、JSON 文字列をマップに解析し、解析結果を出力する関数を作成できます。
func parseJSON(jsonStr string) (map[string]interface{}, error) { var jsonData JsonMap err := json.Unmarshal([]byte(jsonStr), &jsonData) if err != nil { return nil, err } return jsonData.Data, nil }
最後に、上記のコードをテストする main 関数を作成できます。
func main() { jsonStr := `{ "data": { "name": "John", "age": 30, "email": "john@example.com" } }` jsonData, err := parseJSON(jsonStr) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Name:", jsonData["name"]) fmt.Println("Age:", jsonData["age"]) fmt.Println("Email:", jsonData["email"]) }
上記のコードを実行すると、出力結果は次のようになります:
Name: John Age: 30 Email: john@example.com
上記は、golang で json.Unmarshal 関数を使用して JSON 文字列を解析してマップにする具体的なコード例です。 。お役に立てれば!
以上がgolangのjson.Unmarshal関数を使用してJSON文字列をマップに解析しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。