2019独角兽企业重金招聘Python工程师标准>>>
json转[]byte
paymentData := WxPayData{
ApiKey: __notify.ApiKey,
Appid: __notify.Data.Appid,
MchId: __notify.Data.MchId,
}
paymentDataBuf, _ := json.Marshal(&paymentData)
上图中的paymentData是一个json结构,使用json.Marshal转换完之后的paymentDataBuf是一个[]byte结构
[]byte转json
data := goo.NewHttp().SetUrl(__sns_oauth2_url).Get()
__snsOauth2Response := snsOauth2Response{}
if err := json.Unmarshal(data, &__snsOauth2Response); err != nil {
return nil, err
}
首先定义了一个json结构,如上图中的__snsOauth2Response,他的具体结构如下
type snsOauth2Response struct {
AccessToken string `json:"access_token"`
ExpireIn time.Duration `json:"expire_in"`
Openid string `json:"openid"`
Unionid string `json:"unionid"`
RefreshToken string `json:"refresh_token"`
Scope string `json:"scope"`
}
然后用json.Unmarshal把[]byte类型的data转换成json结构的__snsOauth2Response,记得要加指针&
定义的结构除了struct,也可以是map[string]string,或者interface{}