go map和struct转换json

json转换是后台开发不可避免的,在golang中,需要把json转换成struc或者map,才能获取数据中的具体值,详细代码如下

package main

import (
	"encoding/json"
	"fmt"
)

// User 用户
type User struct {
	Name string
	Age  int
}

func main() {

	//json 转 struct
	data := `{"name":"spring","age":18}`
	u := &User{}

	err := json.Unmarshal([]byte(data), &u)
	if nil != err {
		fmt.Println(err)
	}

	fmt.Println("stuct data:", u)

	// struct 转json
	tmp := &User{Name: "chen", Age: 20}

	jsonData, err := json.Marshal(tmp)
	if nil != err {
		fmt.Println(err)
	}
	fmt.Println("json Data:", string(jsonData))

	// json 转 map
	str := `{"name":"TauCrus","age":19}`

	mp := make(map[string]interface{})

	err = json.Unmarshal([]byte(str), &mp)
	if nil != err {
		fmt.Println(err)
	}

	fmt.Println("map data:", mp)

	// map 转 json
	temp := map[string]interface{}{"name": "Tome", "age": 21}
	jd, err := json.Marshal(temp)
	if nil != err {
		fmt.Println(err)
	}
	fmt.Println("json Data:", string(jd))

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值