结构体转json
map转json
切片转json
在上面三个转Json使用的是Json_Marshal.也就是序列化的过程,那么反序列的函数Json.Unmarshal()
/**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、切片、结构体所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)