【GO】json转map、切片、结构体

【GO】json转map、切片、结构体,第1张

概述咔咔博客之json转map、切片结构体结构体转jsonmap转json切片转json在上面三个转json使用的是json_Marshal.也就是序列化的过程,那么反序列的函数json.Unmarshal()json转map/**json转map*/func main3() { jsonStr := `{"name":"咔咔","age":20,"address":["fan... 咔咔博客之Json转map、切片、结构体

结构体转json
map转json
切片转json
在上面三个转Json使用的是Json_Marshal.也就是序列化的过程,那么反序列的函数Json.Unmarshal()

Json转map

/**Json转map*/func main3() {	JsonStr := `{"name":"咔咔","age":20,"address":["fangkang.top","blog.fangkang.top"]}`	mMap := make(map[string]interface{})	err := Json.Unmarshal([]byte(JsonStr), &mMap)	if err != nil {		fmt.Println("反序列化失败")	} else {		// map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔]		fmt.Println(mMap)	}}
Json转切片

这里有一个注意点那就是切片最后一个没有“,” 这里需要注意一点

func main() {	JsonStr := `[				{"name":"咔咔","blog.fangkang.top"]},{"name":"咔咔","blog.fangkang.top"]}	]`	mSlice := make([]map[string]interface{}, 0)	err := Json.Unmarshal([]byte(JsonStr), &mSlice)	fmt.Println(err)	if err != nil {		fmt.Println("反序列化失败")	} else {		// [map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔] map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔] map[address:[fangkang.top blog.fangkang.top] age:20 name:咔咔]]		fmt.Println(mSlice)	}}
Json转结构体

type Persons struct {	name    string	Age     int	Address []string}/**Json转结构体*/func main() {	JsonStr := `{"name":"咔咔","blog.fangkang.top"]}`	k := Persons{}	err := Json.Unmarshal([]byte(JsonStr), &k)	if err != nil {		fmt.Println("反序列化失败")	} else {		fmt.Println(k)	}}
注意点 在Json转任何类型时都是传的指针使用Json_Unmarshil来转JsonJson转切片注意每个值后边的逗号Json转结构体时注意结构体的属性必须是开放的,也就是首字符必须大写博主微信欢迎交流

@H_404_384@

总结

以上是内存溢出为你收集整理的【GO】json转map、切片、结构体全部内容,希望文章能够帮你解决【GO】json转map、切片、结构体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1252273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存