遵循API指南如何在Golang中解码json以构造

This is my body/ how the api posts data:

{ 
"data": {
        "email": "string",
        "first_name": "string",
        "last_name": "string",
        }
}

and this is my postProfileRequest struct, which maybe i need to change to accomodate data?

type postProfileRequest struct {
    Profile Profile
}

where as this is Profile

type Profile struct {
ID        int    `json:"id"`
Email     string `json:"email"`
FirstName string `json:"first_name"`
LastName  string `json:"last_name"`
}

and i'd like to decode the body request without the data part, so the code below works, since i cant do r.Body.data, i was wondering what would be the best way to do this?

var req postProfileRequest
json.NewDecoder(r.Body).Decode(&req.Profile)

Use the following to decode to a Profile without the data part:

var req postProfileRequest

// Create a value that matches the structure of 
// the JSON. 
v := struct{ Data *Profile }{&req.Profile}

json.NewDecoder(r.Body).Decode(&v)

fmt.Println(req.Profile) // The data field was decoded to req.Profile

Run it on the playground.