news 2026/7/15 10:41:57

golang格式化打印json

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
golang格式化打印json

一、背景与作用

在 Go 项目中,经常需要把结构体、map 等数据序列化为 JSON,用于:
打日志(debug)
写文件(配置 / 结果快照)
排查复杂嵌套数据(如告警、监控、Agent 返回)

encoding/json 提供了两种常用方式:
json.Marshal:紧凑 JSON,适合机器传输
json.MarshalIndent:格式化 JSON,适合人阅读

json.MarshalIndent 的核心目标只有一个:让 JSON 更可读,而不改变其语义。

funcjson.MarshalIndent(v any,prefix,indentstring)([]byte,error)

1️⃣ v(待序列化对象)

可以是 struct、map、slice、嵌套组合

行为与 json.Marshal 完全一致

2️⃣ prefix(行前缀)

会加在 每一行的最前面

常见写法:“”

偶尔用于日志对齐或嵌入输出

3️⃣ indent(缩进字符串)

每增加一层嵌套,就追加一次

data:=map[string]any{"id":1,"name":"alert","meta":map[string]any{"state":"alerting","count":3,},}b,err:=json.MarshalIndent(data,""," ")iferr!=nil{panic(err)}fmt.Println(string(b)){"id":1,"meta":{"count":3,"state":"alerting"},"name":"alert"}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/15 0:03:42

合规即代码的延伸:国产 DevOps 平台如何利用平台扩展能力,自动验证信创基础设施的配置合规性

在信创改造浪潮中,基础设施配置合规性验证是保障系统安全、满足监管要求的核心环节。传统合规验证依赖人工检查,存在效率低、覆盖不全、易遗漏、难追溯等问题,难以适配信创环境下 “国产化软硬件适配、安全基线达标、政策动态更新” 的复杂需…

作者头像 李华
网站建设 2026/7/10 13:16:57

Wan2.1 GP视频生成:新手快速上手AI视频制作指南

Wan2.1 GP视频生成:新手快速上手AI视频制作指南 【免费下载链接】Wan2GP Wan 2.1 for the GPU Poor 项目地址: https://gitcode.com/gh_mirrors/wa/Wan2GP Wan2.1 GP视频生成工具是目前最先进的AI视频制作平台,专为消费级GPU用户设计。这套强大的…

作者头像 李华
网站建设 2026/7/13 11:20:11

【Go 语言】核心特性、基础语法及面试题

文章目录 目录一、Go 核心特性二、Go 基础语法1. 变量声明(3种方式)2. 函数(多返回值匿名函数)3. 接口(隐式实现)4. 并发(Goroutine Channel)5. defer 延迟执行 三、Go 高频面试题及…

作者头像 李华