json-iterator/go isn't compatible with encoding/json in many ways (e.g. json-iterator/go#229 ), but it hasn't been supported for a long time. segmentio/encoding/json is well supported for encoders, ...
Struct tags are great for tools like JSON to know what to map a field to. However, this only goes so far - you can not reuse the same struct if you want to pass data between components (in my case, ...