golang []byte转json和json转[]byte

本文介绍了在Go(golang)中如何将json对象转换为[]byte数组,以及如何将[]byte数组解析为json结构。示例中展示了使用json.Marshal和json.Unmarshal进行转换的方法,并提到转换的目标可以是自定义结构体、map[string]string或interface{}。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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{}

转载于:https://my.oschina.net/u/3491770/blog/3007818

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值