原文
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
![]() |
原始链接: https://news.ycombinator.com/item?id=43376769
Hacker News 的一个帖子讨论了在 Go 中解码 JSON 联合类型的问题,这是一个常见难题。原文讨论了如何在不发生恐慌的情况下处理可能格式错误的 JSON 结构。 几位评论者强调了将字段区分的 JSON 对象映射到 Go 接口的挑战。一位评论者认为错误是由于契约问题和用户错误造成的。其他人提出了解决方案,例如使用 `gjson` 来提取类型字段以更快地确定对象类型,以及一个名为 `pjson` 的自定义库。 有人提议改进 `encoding/json/v2` 包,允许自定义 Unmarshaler,但真正的解决方案要等到 Go 拥有原生联合类型之后才会出现。一些人认为联合类型是对格式错误的 JSON 和糟糕设计的回应。
| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
![]() |
reply