jackson-core icon indicating copy to clipboard operation
jackson-core copied to clipboard

Allow registering "string-converter hook", for low-level coercion or String mutation

Open cowtowncoder opened this issue 7 years ago • 1 comments

One common wish for processing (at various levels) is to be able to modify incoming String values, to either:

  1. Modify Strings themselves (trim whitespace, change casing etc), or
  2. Change type of scalar token reported (coercion): for example, change String value "12" into number 12 (int)

While such functionality is most often needed for formats like CSV and XML (and perhaps properties), it seems that due to needed across multiple formats this would really make sense as jackson-core functionality.

What probably makes sense is to try to figure out abstractions needed, interaction, but require implementations to wire actual activity. In fact, it is almost certainly impossible to do it efficiently and cleanly from within jackson-core itself (or from databind). But it should be possible to implement it in core both for API, and wiring for JSON, and then add similar functionality for other textual (and maybe, if there's demand, for binary?) codecs.

cowtowncoder avatar Feb 22 '17 00:02 cowtowncoder

Note: created jackson-databind issue too, to increase visibility.

cowtowncoder avatar Dec 05 '20 20:12 cowtowncoder