Normalization
FUME evaluates mappings against JSON. When you send CSV, XML, or HL7 v2 input, the engine normalizes that input to JSON first and evaluates the mapping against the normalized result.
That normalization step is why the same mapping can work against either:
- the normalized JSON that you inspect during development
- the original source format that you send at runtime
Inspect normalized JSON
Use the root endpoint with fume: "$" to see the exact JSON shape that FUME evaluates.
{
"input": "<format-specific input or JSON value>",
"contentType": "<mime type>",
"fume": "$"
}
For JSON input, input is a JSON value.
For CSV, XML, and HL7 v2 input, input is a string that contains the original document or message.
Supported formats
| Format | Typical contentType | Normalized shape |
|---|---|---|
| JSON | application/json | unchanged |
| CSV | text/csv | array of row objects |
| XML | application/xml | object-based JSON document |
| HL7 v2 | x-application/hl7-v2+er7 | segment-keyed JSON object |
What to expect
- JSON input is used as-is.
- CSV normalization keeps header names and returns string values.
- XML normalization produces an object root, keeps XML primitives as strings, and may expose the original root tag as
_xmlTagName. - HL7 v2 normalization turns message segments and fields into JSON keys using the HL7 dictionary-backed parser.
Use the format-specific pages in this section to see the exact full-file examples and normalized JSON that FUME evaluates before your mapping runs.