title: Jackson custom serialization and deserialization
body: <p>i'm unable to figure out the proper way to implement the custom serialization/deserialization with jackson.
  I have many classes (~50) with primitive fields that should be serialized/deserialized not as primitives.
  like: </p>
  
  <pre><code>class User {
      int height // this field should be serialized as "height": "10 m"
  }
  
  class Food {
      int temperature // this field should be serialized as "temperature": "50 C"
  }
  
  class House {
      int width // this field should be serialized as "width": "10 m"
  }
  </code></pre>
  
  <p>all serializations and deserializations are very similar, I just need to add a suffix after the integer (C, pages, meters, etc..)</p>
  
  <p>A straightforward way to do this is to put a pair of <code>@JsonSerialize</code>/<code>@JsonDeserialize</code> annotation to each such field and implement them.
  But i will end up with 100 <strong>very similar</strong> serializers / deserializers.</p>
  
  <p>I thought about adding custom annotation to each field, say <code>@Units("Degree")</code> or <code>@Units("Meters")</code>, to such integer fields and implement a <code>SerializationProvider</code> that will create serializers in a generic way based on an annotation value.
  But I didn't find a place where the information about the property annotations is available.</p>