go语言结构与json的转换

本文介绍如何使用Golang实现JSON与自定义结构体之间的相互转换,通过实例演示了如何生成测试数据并将其转换为JSON字符串,再将JSON字符串解析回结构体的过程。

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

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
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值