go语言结构与json的转换

package main

import (
	"strconv"
	"fmt"
	"encoding/json"
)

type UserInfo struct {
	ID 	  int		`josn:"id"`
	Name  string 	`json:"name"`
	age   int		`json:"age"`
}

func main()  {
	userDB:=make(map[int]UserInfo)
	//生成十条测试数据
	for i:=0;i<10;i++{
		name:="test"+strconv.Itoa(i)
		userDB[i]=UserInfo{i+100,name,10+i}
	}
	format:=HF_JtoA(userDB)
	fmt.Printf("结构转换为json:%v\n",format)
	stu:=HF_JtoB(format)
	json.Unmarshal(stu,&userDB)
	fmt.Printf("json转换为结构:%v\n",userDB)
	for i:=0;i<len(userDB);i++{
		fmt.Printf("编号:%d,名称:%v,年龄:%d\n",userDB[i].ID,userDB[i].Name,userDB[i].age)
	}

}

//! 结构转json串
func HF_JtoA(v interface{}) string {
	s, _ := json.Marshal(v)
	return string(s)
}

//! json串转字节
func HF_JtoB(v interface{}) []byte {
	s, _ := json.Marshal(v)
	return s
}

发布了10 篇原创文章 · 获赞 0 · 访问量 614

猜你喜欢

转载自blog.csdn.net/weixin_38849917/article/details/99703369