// code_031_json_unmarshal project main.go
package main
import (
"encoding/json"
"fmt"
)
//可以使用json.Unmarshal()函数将JSON格式的文本解码为 Go 里面预期的数据结构。
//json.Unmarshal()函数的原型如下:
// func Unmarshal(data []byte, v interface{}) error
// 该函数的第一个参数是输入,即JSON格式的文本(比特序列)
// 第二个参数表示目标输出容器,用于存放解码后的值。
type IT struct {
Company string `json:"company"`
Subject []string `json:"subjects"`
IsOk bool `json:"isok"`
Price float64 `json:"price"`
}
func main() {
//第一:反序列化,完整字段。
// b为从前端接收的数据
b := []byte(`{
"company":"alibaba",
"subjects":[
"Go",
"C++",
"Python",
"Test"
],
"isok":true,
"price":666.666
}`)
var t IT //声明目标输出容器,用于存放解码后的值
err := json.Unmarshal(b, &t) //调用函数,并传递两个参数:JSON的比特序列,目标输出的容器
if err != nil {
fmt.Println("json err:", err)
}
fmt.Println(t)
//第二种:反序列化部分字段,如:Subjects字段。
type IT2 struct {
Subjects []string `json:"subjects"`
}
var t2 IT2
err1 := json.Unmarshal(b, &t2)
if err1 != nil {
fmt.Println("json err:", err)
}
fmt.Println(t2)
}
以上所述就是小编给大家介绍的《Go语言的JSON输入(解码)(反序列化)之struct存储》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Netty-解码器架构与常用解码器
- Glide 缓存与解码复用
- 音频解码 Audio Converter
- golang之Json编码解码
- 解码器 与 编码器
- WeIdentity 源码分析 | 狗哥解码(一)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
技术元素
[美] 凯文·凯利 / 张行舟、余倩、周峰、管策、金鑫、曾丹阳、李远、袁璐 / 译言·东西文库/电子工业出版社 / 2012-5 / 55.00元
我会将我不成熟的想法、笔记、内心争论、草稿以及对其他文章的回应都写在《技术元素》中,这样我就能知道自己到底在想些什么。——KK “技术元素”(technium)是凯文•凯利专门创造出来的词语。“技术元素不仅仅包括一些具象的技术(例如汽车、雷达和计算机等),它还包括文化、 法律、社会机构和所有的智能创造物。”简而言之,技术元素就是从人的意识中涌现出来的一切。KK把这种科技的延伸面看成一个能产生......一起来看看 《技术元素》 这本书的介绍吧!