Go 结构体调试输出(%+v / %#v)转 JSON 的完整指南
Go 的 fmt.Printf %+v 和 %#v 输出看起来像结构化数据,但不是 JSON。本文介绍如何将 Go struct、map、slice 的调试输出转换为合法 JSON。
开发技巧、指南和实用教程
Go 的 fmt.Printf %+v 和 %#v 输出看起来像结构化数据,但不是 JSON。本文介绍如何将 Go struct、map、slice 的调试输出转换为合法 JSON。
PHP 的 print_r、var_dump 和 var_export 输出的是人类可读格式,不是 JSON。本文介绍如何将这 3 种格式及 serialize() 输出转换为合法 JSON。
Rust 的 #[derive(Debug)] 输出看起来像结构化数据,但不是 JSON。本文介绍如何将 Debug trait 输出(struct、enum、Vec、HashMap)转换为合法 JSON。
深入理解 JWT token 的三个组成部分——Header(头部)、Payload(载荷)和 Signature(签名)。了解 JWT 认证流程、常见安全错误及调试方法。
对比 UUID(v4/v7)、ULID 和 NanoID——格式、可排序性、碰撞概率和数据库性能。一份选择唯一 ID 方案的实用指南。
掌握 cron 表达式——学习 5 字段格式、特殊字符、10 个最常用的表达式模式,以及 Linux、Kubernetes、GitHub Actions、Spring 中的使用陷阱。
MySQL CREATE TABLE 转 Go struct 完全指南——类型映射、指针处理 NULL、命名规范、结构体标签,以及 DECIMAL 精度问题。
全面掌握 Go struct tag——json、db、gorm、validate、bson、yaml。学习语法、常用选项、多标签组合,以及最常犯的错误。
掌握 Go 的 if err != nil 模式——了解 4 种常见错误处理风格、fmt.Errorf 错误包装最佳实践,以及如何自动化生成样板代码。
掌握 go-playground/validator 标签——了解最常用的规则(required、min、max、oneof、email)、常见错误,以及如何在部署前测试标签。
开发者每天都会遇到各种「看起来像 JSON 但解析报错」的数据。本文介绍 5 种最常见的非标准 JSON 格式及其修复方法。
详解 Python dict 输出和 JSON 的 5 个关键区别,以及如何将 Python 字典字符串快速转换为合法 JSON。
Java Map 的 toString() 输出形如 {key=value},看着像 JSON 但完全不是。本文介绍 3 种转换方法,包括处理嵌套 Map 的技巧。
JSON5 在 JSON 基础上增加了注释、尾部逗号、无引号键名等特性。了解 JSON5 的所有扩展功能、应用场景,以及如何在 JSON5 和 JSON 之间转换。
从 grep 到 Python 脚本,掌握从日志文件中提取和修复 JSON 的实用方法,解决嵌套、截断、转义等常见问题。