go语言中使用Marshal函数实现结构体json化,需要有一下两点注意

  1. 因为json化是在其他函数中完成,因此需要将结构体中的成员大写,这样才能在生成的结构体中有对应的元素
  2. 在结构体后面,如果有需要改写字段名称,需要使用烦引号,指定对应的字段名称,支持多指定如json:"name" db:"dbname",这样在不同函数调用的时候,就会生成不同的键值对

package mainimport ("encoding/json""fmt"
)// json  --  struct
// 注意因为这个结构体要在 @json.Marshal 内部使用,所以想要出来完整的json就必须使用大小的变量
// 当有要求,生成的json必须是小写的时候,可以使用关键字  json指定字段的名字 如`json:"name" db:"name"`
type jsonPerson struct {Name string `json:"name" db:"name"`Age  int `json:"age"`
}func main() {p1 := jsonPerson{Name: "xiaohong",Age:  23,}byteStr, _ := json.Marshal(p1)fmt.Println(string(byteStr))fmt.Printf("%#v",string(byteStr))
}

go语言中结构体与json相关推荐

  1. Go语言中结构体打Tag是什么意思?

    前言 哈喽,大家好,我是asong.今天想与大家分享Go语言中结构体标签是怎么使用的,以及怎样定制自己的结构体标签解析. 大多数初学者在看公司的项目代码时,看到的一些结构体定义会是这样的: type ...

  2. Go语言中结构体打 Tag 是什么意思?

    前言 哈喽,大家好,我是asong.今天想与大家分享Go语言中结构体标签是怎么使用的,以及怎样定制自己的结构体标签解析. 大多数初学者在看公司的项目代码时,看到的一些结构体定义会是这样的: type ...

  3. C 语言中结构体强制转换--实验

    2019独角兽企业重金招聘Python工程师标准>>> 对于C语言中结构体强制转换做了如下实验, 或许可以解惑一些问题 对于结构体, 我理解的属性有: 成员的顺序, 成员的类型,成员 ...

  4. java发送c语言结构体_C语言中结构体直接赋值?

    在C语言中结构体变量之间可以进行赋值操作吗? 简单结构体的赋值 先说结论:一般来说,C语言中的结构体变量可以用另一个变量对其进行赋值或初始化.简单结构体(不包含指针成员)直接赋值没有问题. 我们先下面 ...

  5. c语言中申请内存并初始化,c语言中结构体的定义、初始化及内存分配

    #include struct person { char *name; int age; }; int main() { //结构体可以定义在函数内,也可以定义到函数外 //相当于全局变量与局部变量 ...

  6. c语言定义学生结构体类型,C语言中结构体的三种定义方式

    c语言中结构体的定义: struct 结构体名{ 成员列表: ..... }结构体变量: 7.1.1 结构体类型变量的定义 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对 ...

  7. C语言中结构体直接赋值

    FROM:http://codewenda.com/c语言结构体直接赋值/ 在C语言中结构体变量之间可以进行赋值操作吗? 简单结构体的赋值 先说结论:一般来说,C语言中的结构体变量可以用另一个变量对其 ...

  8. c语言结构体成员变量私有化,C语言中结构体变量私有化详解

    C语言中结构体变量私有化详解 背景介绍 操作系统 : CentOS7.3.1611_x64 gcc版本 :4.8.5 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚 ...

  9. C语言中结构体标签的使用

    C语言中结构体标签的使用 我们都知道,结构体标签就是结构体的名称,为结构体命名可以方便我们在后续继续使用该结构体. 如 struct student {char* name;int age; }str ...

最新文章

  1. Leetcode 189. 旋转数组 (每日一题 20210909)
  2. 中年女子颈肩手肿痛案
  3. python 编程快速上手,Python编程快速上手
  4. 蓝色版去水印小程序源码+接口
  5. 微信小程序|开发实战篇之三
  6. mac 压缩png图片资源 pngcrush命令
  7. [Apple开发者帐户帮助]二、管理你的团队(7)管理服务器帐户
  8. 电脑软件从通过运行开启(耍帅必会)
  9. 三星 S7562i 一键 Root
  10. 芯片AD库导入(贸泽)
  11. 虚拟机安装linux系统教程
  12. 批量给视频加水印的快速方法
  13. 约瑟夫问题python列表_Python实现约瑟夫问题
  14. “如何成为阿里云P8架构师?“ ”当然是考取阿里云新版ACE认证啊”
  15. Hexo 的next主题下添加网易云音乐作BGM
  16. 2018 Github优秀开源项目整理
  17. 未来的智能制造,或许会往这些方向推进
  18. 2022.10.13 周四(正则表达式)
  19. OpenMV色块寻找
  20. 浙江大学 工程伦理 第八单元测试答案

热门文章

  1. 半双工、全双工以太网
  2. C#基础概念二十五问 【二】 [转]
  3. static关键字总结
  4. Laravel中构造方法中不能写return!!!
  5. Jenkins邮件配置,实现邮件发送策略(可实现每个Job对应不同的发送邮箱)
  6. 谈谈我自己(创业四个多月)
  7. 利用Navigation Timing测量页面加载时间
  8. 栈的链式存储及常用操作
  9. poj 2456 Aggressive cows(贪心+二分)
  10. matlab 中imagesc的用法