在Golang中比较超集对象

I want to compare two objects

expected:= `"{\"method\":\"GET\",\"body\":{},\"uploadCount\":0}"` 

result := `"{\"name\":\"xyz\",\"method\":\"GET\",\"body\":{},\"uploadCount\":0}"`

Now as we can see result is super-set of expected but when I use reflect.deepequal, it says false because it exactly compare two objects. I want to compare if result is superset of expected or not.

 func main(){

    result := "{\"name\":\"xyz\",\"method\":\"GET\",\"body\":{},\"uploadCount\":0}"

    expected := "{\"method\":\"GET\",\"body\":{},\"uploadCount\":0}" 

    var _result interface{}
    var _expected interface{}
    json.Unmarshal([]byte(result),&_result)
    json.Unmarshal([]byte(expected),&_expected)

    reflect.deepequal(_result,_expected)

}

Without any refinements you could do something like

func main() {

    result := "{\"name\":\"xyz\",\"method\":\"GET\",\"body\":{},\"uploadCount\":0}"

    expected := "{\"method\":\"GET\",\"body\":{},\"uploadCount\":0}"

    var _result map[string]interface{}
    var _expected map[string]interface{}

    json.Unmarshal([]byte(result), &_result)
    json.Unmarshal([]byte(expected), &_expected)

    isSuperset := true

    for k, v := range _expected {
        if !reflect.DeepEqual(v, _result[k]) {
            isSuperset = false
            break
        } 
    }

    fmt.Println(isSuperset)
}