package main

import (
    "encoding/json"
    "context"
    "xxxxx/grpc"
    "githum.com/mitchellh/mapstructure"
)

type JsonTypeRequest struct {
    Id int `mapstructure:"id"`
    Title string `mapstructure:"title"`
}

func main(ctx context.Context, req *grpc.ParamRequest) (*JsonTypeRequest, error) {
    var param map[string]interface{}
    err := json.Unmarshal([]byte(req.Request), &param)
    fmt.Println(param)
    if err != nil {
        return nil,err
    }
    pp := JsonTypeRequest{}
    err1 := mapstructure.WeakDecode(param, &pp)
    fmt.Println(pp)
    if err1 != nil {
        return nil,err1
    }
    return pp,nil
}