当前位置: 首页 > news >正文

Go中json的解析和反解析

在解析过程中,反向解析不包含其中的部分参数也不会报错,这是需要注意的一点

×  31 func main() { // E: main redeclared in this block                                                                                                32 ¦   type AA struct {                                                                                                                             33 ¦   ¦   A1 string `json:"aa"`                                                                                                                    34 ¦   ¦   A2 int `json:"bb"`                                                                                                                       35 ¦   }                                                                                                                                            36                                                                                                                                                  37 ¦   mm := AA{                                                                                                                                    38 ¦   ¦   A1: "hello",                                                                                                                             39 ¦   ¦   A2: 11,                                                                                                                                  40 ¦   }                                                                                                                                            41                                                                                                                                                  42 ¦   value , err := json.Marshal(mm)                                                                                                              43 ¦   if err != nil {                                                                                                                              44 ¦   ¦   fmt.Println("data err!")                                                                                                                 45 ¦   }                                                                                                                                            46                                                                                                                                                  47 ¦   type BB struct{                                                                                                                              48 ¦   ¦   A1 string `json:"aa"`                                                                                                                    49 ¦   ¦   A2 int `json:"bb"`                                                                                                                       50 ¦   ¦   A3 string `json:"cc"`         //这里比待解析的数据中多了一个参数,不存在的string为nil, int类型的为0                                                                                                           51 ¦   }                                                                                                                                            52                                                                                                                                                  53 ¦   bb := BB{}                                                                                                                                   54                                                                                                                                                  55 ¦   err1 := json.Unmarshal(value, &bb)                                                                                                           56 ¦   if err1 != nil {                                                                                                                             57 ¦   ¦   fmt.Println("json un err")                                                                                                               58 ¦   }                                                                                                                                            59                                                                                                                                                  60 ¦   fmt.Printf("A1", bb.A1)                                                                                                                      61 ¦   fmt.Printf("A2", bb.A2)                                                                                                                      62 }                                                                                                                                                63           
http://www.lryc.cn/news/344531.html

相关文章:

  • SpringBoot+vue实现退出功能
  • Linux操作系统中管理磁盘的另外一种操作方式。即LVM——逻辑卷管理操作
  • Lua 零基础入门
  • 记录DemoApplication.java不变蓝问题
  • 22_Scala集合Seq
  • 机器学习初学者 6 个核心算法!建议收藏,反复观看!
  • SpringBoot 打包所有依赖
  • QpushButton绘制圆角矩形并绘制背景颜色
  • Core Impact 21.5 (Windows) - 高级渗透测试
  • 【Web前端】定位_浮动_音视频
  • 【Osek网络管理测试】[TG4_TC3]LimpHome状态下的睡眠中断
  • 【QT教程】QT6硬件数据库编程 QT硬件数据库
  • unaipp推荐算法的汽车租赁系统zaxzu 微信小程序hbuiderx
  • STM32单片机中C语言的一些隐藏bug
  • 车载测试到底怎么样?真实揭秘!
  • RustGUI学习(iced)之小部件(八):如何使用svg部件显示矢量图形?
  • gitlab设置保护分支
  • 五月加仓比特币
  • 为什么需要归档和管理合同
  • 什么是DMA? STM32如何配置DMA?
  • 交友软件源码-源码+搭建+售后,上线即可运营聊天交友源码 专业语聊交友app开发+源码搭建-快速上线
  • c++多线程2小时速成
  • 大模型日报2024-05-09
  • QGraphicsView实现简易地图11『指定层级-定位坐标』
  • UE5 蓝图入门
  • 英语单词学习
  • 使用Python编写自动化测试代码规范整理
  • 实验七 SJK数据库定义与操纵
  • Win10环境下yolov8快速配置与测试-详细
  • C++面向对象学习笔记一