1、json解析到结构体

示例:

package main

import (
"encoding/json"
"fmt"
) type IT struct {
Company string `json:"company"`
Subjects []string `json:"subjects"` //二次编码
IsOk bool `json:"isok"`
Price float64 `json:"price"`
} func main() { jsonBuf := `
{
"company": "itcast",
"subjects": [
"Go",
"C++",
"Python",
"Test"
],
"isok": true,
"price": 666.666
}` var tmp IT //定义一个结构体变量
err := json.Unmarshal([]byte(jsonBuf), &tmp) //第二个参数要地址传递
if err != nil {
fmt.Println("err = ", err)
return
}
//fmt.Println("tmp = ", tmp)
fmt.Printf("tmp = %+v\n", tmp)
}

执行结果:

tmp = {Company:itcast Subjects:[Go C++ Python Test] IsOk:true Price:666.666}

  

示例2: 定义结构体,解析你想生成的字段

package main

import (
"encoding/json"
"fmt"
) type IT struct {
Company string `json:"company"`
Subjects []string `json:"subjects"` //二次编码
IsOk bool `json:"isok"`
Price float64 `json:"price"`
} func main() { jsonBuf := `
{
"company": "itcast",
"subjects": [
"Go",
"C++",
"Python",
"Test"
],
"isok": true,
"price": 666.666
}` var tmp IT //定义一个结构体变量
err := json.Unmarshal([]byte(jsonBuf), &tmp) //第二个参数要地址传递
if err != nil {
fmt.Println("err = ", err)
return
} type IT2 struct {
Subjects []string `json:"subjects"` //二次编码
} var tmp2 IT2
err = json.Unmarshal([]byte(jsonBuf), &tmp2) //第二个参数要地址传递
if err != nil {
fmt.Println("err = ", err)
return
}
fmt.Printf("tmp2 = %+v\n", tmp2) }

执行结果:

tmp2 = {Subjects:[Go C++ Python Test]}

  

最新文章

  1. swift开发新项目总结
  2. NopCommerce源码分析ContainerBuilder builder.Update(container)
  3. web.xml文件报错:The processing instruction target matching "[xX][mM][lL]" is not allowed.
  4. SET QUOTED_IDENTIFIER ON
  5. 处理.NET中的内存泄露
  6. linux apache模块的安装
  7. ZOJ_2314_Reactor Cooling_有上下界可行流模板
  8. 一篇文章搞懂Android组件化
  9. [Swift]LeetCode36. 有效的数独 | Valid Sudoku
  10. oracle 合并多个sys_refcursor
  11. torch.linspace,unsqueeze()以及squeeze()函数
  12. stm32之中断配置
  13. Vue.js 系列教程 2:组件,Props,Slots
  14. Linux记录-shell一行代码杀死进程(收藏)
  15. Python 元组 min() 方法
  16. InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings In
  17. pomelo生命周期回调和组件加入
  18. java Web监听器导图详解
  19. css总结19:HTML5 Canvas(画布)
  20. poj 2406 Power Strings【字符串+最小循环节的个数】

热门文章

  1. Redis高可用之主从复制实践(四)
  2. 运维服务器手段(监控宝,Nagios,百度通告平台)
  3. crontab计划执行脚本详解
  4. SGU 200. Cracking RSA (高斯消元求自由变元个数)
  5. KL46 custom board SWD reset is never asserted - SWS Waveform
  6. JTAG TAP Controller
  7. C#怎么通过一个按钮Button,实现点击这个按钮可以打开一个文件或者文件夹?
  8. 利用Android Lost通过互联网或短信远程控制安卓设备
  9. AngularJS中Directive间交互实现合成
  10. 在Visual Studio中使用活动图描述业务流程