需要用到json.MarshalIndent 方法

官方的注释是:

MarshalIndent类似于Marshal,但应用Indent来格式化输出。

输出中的每个JSON元素都将以一个新行开始,该新行以 前缀 开头,后跟一个或多个根据缩进嵌套的缩进副本。

就是会在每个字段以及值之后加回车换行

也可以自己给新行加前缀后缀

用来打印成方便查看的格式,非常适合

package main

import (
"encoding/json"
"fmt"
) type ToolStruct struct {
A int64
B string
C string
} func main() {
i := &ToolStruct{}
i.A = 128
i.B = "asdf"
i.C = "qwer"
res, _ := json.MarshalIndent(i, "", " ")
fmt.Println(i)
fmt.Println(string(res))
} /*
打印结果
&{128 asdf qwer}
{
"A": 128,
"B": "asdf",
"C": "qwer"
}
*/

显然,下面这种的可读性更高

go结构体打印格式化成json的更多相关文章

  1. xml格式化成json

    JsonConvert.SerializeObject(model)   XmlDocument doc = new XmlDocument();                    doc.Loa ...

  2. C# 结构体和List<T>类型数据转Json数据保存和读取

    C#  结构体和List<T>类型数据转Json数据保存和读取 一.结构体转Json public struct FaceLibrary { public string face_name ...

  3. struct2json -- C结构体与 JSON 快速互转库V1.0发布

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zhutianlong/article/d ...

  4. Go第六篇之结构体剖析

    Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. Go 语言中的类型可以被实例化,使用new或&a ...

  5. Go中的结构体

    前面我们或多或少的都使用了结构体这种数据结构,本身结构体也有很多特性,我们一一来看. 结构体的作用是将一个或者多个任一类型的变量组合在一起的数据类型,类似于我们在Java中class的作用.在结构体重 ...

  6. 06. Go 语言结构体

    Go语言结构体(struct) Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. Go 语言中的类 ...

  7. Go part 5 结构体,方法与接收器

    结构体 结构体定义 结构体的定义只是一种内存布局的描述(相当于是一个模板),只有当结构体实例化时,才会真正分配内存空间 结构体是一种复合的基本类型,通过关键字 type 定义为 自定义 类型后,使结构 ...

  8. 『GoLang』结构体与方法

    结构体 结构体类型 Go 通过结构体的形式支持用户自定义类型,或者叫定制类型. Go 语言结构体是实现自定义类型的一种重要数据类型. 结构体是复合类型(composite types),它由一系列属性 ...

  9. C#语言基础——结构体和枚举类型

    结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要 ...

  10. Go 语言结构体

    Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型. 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合. 结构体表示一项记录,比如保存图书馆的书籍记录,每 ...

随机推荐

  1. pie-engine-ai项目jenkins.yaml文件

    apiVersion: apps/v1kind: Deploymentmetadata: name: jenkins namespace: pie-engine-ai labels: name: je ...

  2. Python 安装使用cx_Oracle操作Oracle数据库

    cx_Oracle 是一个能够访问 Oracle 数据库的 Python 扩展模块.它符合 Python 数据库 API 2.0 规范,并增加了相当多的内容和几个排除项.Python 连接使用Orac ...

  3. ptyhon基础课程_4

    16 循环语句 1.while 语句的格式:"while 条件 :" while True : #循环输出"你好,世界" print ("你好,世界& ...

  4. Ubuntu20.04安装PEA软件

    PEA软件可用于实时精密卫星钟差估计,精密卫星定轨,精密单点定位,电离层建模以及DCB估计等. Ginan开发人员推荐使用Ubuntu18.04或Ubuntu20.04搭建,本文使用Ubuntu20. ...

  5. 查看oracle死锁

    select A.sid, b.serial#, decode(A.type, 'MR', 'Media Recovery', 'RT','Redo Thread', 'UN','User Name' ...

  6. SVN: E155004: THERE ARE UNFINISHED WORK ITEMS IN ''; RUN 'SVN CLEANUP' FIRST

    eclipse的SVN更新或者还原都报错 使用clean up也不好用 解决办法 通过网址https://www.sqlite.org/download.html下载这个软件 解压放到.svn文件夹下 ...

  7. QString的一些使用技巧

    简介 QString 字符串被每个GUI程序所使用,不仅是用户界面,还有数据结构. C++原生提供两种字符串: 传统的C风格以'\0'结尾的字符数组和std::string类.与这些不同,QStrin ...

  8. vim重复、删除、复制、粘贴命令

    0.选中 V+(上.下键)    表示选中 1.删除 1.输入10x,删除10个连续字符 2.输入3dd,将会删除3行文本 在普通模式下,你还可以使用dw或者daw(delete a word)删除一 ...

  9. IIS部署HTTPS站点

    常用的IIS大体有二个版本: IIS8和IIS7,分别有不同的配置方法如下: IIS8.5以上版本 1).新建一个站点,切记尽量不要与旧http协议站点共用一个站点,容易冲突 2).先将https证书 ...

  10. python正则表达式提取数据

    re模块, 常用写法 import re def abs_string(): s_string = ' @pytest.mark.Level1@pytest.mark.SmartSharedListd ...