- The object to be serialized/deserialized has a Map field whose key is another object that Jackson can't serialize or deserialize implicitly
- A third party library is responsible for serializing or deserializing the object eg. custom serialization of api response contracts in a spring webapplication. i.e the ObjectMapper cannot be accessed and configured directly
- Using @JsonSerialize before Map field to register a custom serializer for the key.