嵌套JSON对象的验证

{
 "firstname": "sathish",
 "lastname": "kumar",
 "city": {
    "id": 12,
    "name": "coimbatore"
 },
 "referrals": [
    {
        "name": "vignesh",
        "mobile": "1234567890"
    },
    {
        "name": "melvin",
        "mobile": "1234567890"
    }
 ]
}

Above is my JSON request for creating new profile. I need to do validation for above JSON using Beego validation package

type ProfileForm struct {
 Firstname string `json:"firstname" valid:"Required"`
 Lastname  string `json:"lastname" valid:"Required"`
 City      struct {
    ID   int    `json:"id" valid:"Required"`
    Name string `json:"name" valid:"Required"`
 } `json:"city"`
 Referrals []struct {
    Name   string `json:"name" valid:"Required"`
    Mobile string `json:"mobile" valid:"Required"`
 } `json:"referrals"`
}

I need to know the how can write the validation for JSON request using struct in Beego. Let me know are the any package or tutorial for this kind of requirement.

In official beego documentation I didn't see anything matches my requirement.