Golang JSON-反序列化map,切片(slice),结构体(struct)
发布时间:2021-12-08 编辑:jiaochengji.com
教程集为您提供Golang JSON-反序列化map,切片(slice),结构体(struct)等资源,欢迎您收藏本站,我们将为您提供最新的Golang JSON-反序列化map,切片(slice),结构体(struct)资源
<pre><code class="language-Go">package main
import (
"encoding/json"
"fmt"
)
/*{"addr":"beijing","age":123,"name":"typ"}
{"name":"qqqq","age":12,"hobbit":"ttttt"}
[{"addr":"beijing111","age":1231,"name":"typ111"},{"addr":"beijing222","age":1222,"name":"typ222"}]*/
type student struct {
//tagjson序列化后是小写
Name string `json:"name"`
Age int `json:"age"`
Hobbit string `json:"hobbit"`
}
func unjsonStruct(){
var stu student
fmt.Println("unjson before: ",stu)
var str = "{\"name\":\"qqqq\",\"age\":12,\"hobbit\":\"ttttt\"}"
err := json.Unmarshal([]byte(str), &stu)
if err != nil {
fmt.Println("unjson 失败")
}
fmt.Println("unjson after: ",stu)
}
func unjsonMap(){
testMap := make(map[string]interface{})
fmt.Println("unjson before: ",testMap)
var str = "{\"addr\":\"beijing\",\"age\":123,\"name\":\"typ\"}"
err := json.Unmarshal([]byte(str), &testMap)
if err != nil {
fmt.Println("unjson 失败")
}
fmt.Println("unjson after: ",testMap)
}
func unjsonSlice(){
var sli = make([]map[string]interface{},2)
fmt.Println("unjson before: ",sli)
var str = "[{\"addr\":\"beijing111\",\"age\":1231,\"name\":\"typ111\"},{\"addr\":\"beijing222\",\"age\":1222,"
"\"name\":\"typ222\"}]"
err := json.Unmarshal([]byte(str), &sli)
if err != nil {
fmt.Println("unjson 失败")
}
fmt.Println("unjson after: ",sli)
}
func main() {
unjsonStruct()
unjsonMap()
unjsonSlice()
}
</code></pre>
到此这篇关于“Golang JSON-反序列化map,切片(slice),结构体(struct)”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
Golang JSON-反序列化map,切片(slice),结构体(struct)
Golang JSON-序列化map,切片(slice),结构体(struct)
Golang结构体和map
golang结构体tag的使用
golang面试题
golang 解析struct为map_Golang 的引用类型底层实现
276-go语言golang面试题知识点
Go语言--反射(reflect)
go-面向对象编程(上)
应用编程基础课第三讲:Go编程基础
[关闭]