go - 构造复杂json串

  1. go中构造如下json串
{"name":"alpha",
  "sex":"男",
  "age":18,
"grade":{"gname":"wegame",
         "gdesc":"qq"
         } 
 }

在如下网址中输入以上json串可以自动生成对应的结构体
https://mholt.github.io/json-to-go/

type Autogenerated struct {
	Name  string `json:"name"`
	Sex   string `json:"sex"`
	Age   int    `json:"age"`
	Grade struct {
		Gname string `json:"gname"`
		Gdesc string `json:"gdesc"`
	} `json:"grade"`
}
type Personal struct {
	Name  string `json:"name"`
	Sex   string `json:"sex"`
	Age   int    `json:"age"`
	Grade struct {
		Gname string `json:"gname"`
		Gdesc string `json:"gdesc"`
	} `json:"grade"`
}

//struct 转json
func StructToJsonDemo() {
	var peson1 Personal
	peson1.Name="alpha"
	peson1.Age=18
	//peson1.Sex="男"
	peson1.Grade.Gdesc="wegame"
	peson1.Grade.Gname="qq"
	jsonBytes, err := json.Marshal(peson1) //结构体转json序列化
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(string(jsonBytes))
}

测试效果如下:
在这里插入图片描述

2.构造json数组

// 结构体首字母要大写打印出来后给的别名
type Book struct {
	Title string `json:"title"`
	Price   int    `json:"price"`
}
//struct 转json
func StructToJsonDemo() {
	books :=[]Book{
		Book{
			"alpha",
			200,
		},
		Book{
			"spider",
			200,
		},
	}
	books[0].Price=500
	jsonBytes, err := json.Marshal(books) //结构体转json序列化
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(string(jsonBytes))
}

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值