golang通过json-iterator提供的扩展点,实现json编解码过程可定制

json-iterator/go是一个golang编解码库,主要用于比特序列与map/struct的互转,在使用过程中,我们可能需要对编解码过程进行处理,比如客户端发过来的请求体中某个字段为加密或编码过的,业务代码不想感知这种行为,如何在反序列化的过程中优雅地处理掉这种问题,json-iterator提供了Extension的机制,来满足一些复杂的编解码场景。
通过extendsion机制可实现下列能力:
* 定制化的codec
* 操作struct属性