如encoding/json软件包文档中所述,Marshal 递归地遍历值 v。如果遇到的值实现了 Marshaler 接口并且不是 nil 指针,Marshal 将调用其 MarshalJSON 方法来生成 JSON。此测试在代码中的确切位置执行?换句话说,如何encoding/json检查v类型的值是否t实现了Marshaller接口?
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
这里 :
Golang 编码/json 编组器
if t.Implements(marshalerType) {
return marshalerEncoder
}
编辑:正如@dave-c 在下面的评论中指出的那样,上面的链接已更新为指向特定版本的 Go。
- 1 回答
- 0 关注
- 176 浏览
添加回答
举报
0/150
提交
取消