Data formats
The data formats that marshal and unmarshal message bodies in Cameleer routes, such as JSON, CSV and Avro.
| Name | What it does |
|---|---|
| ASN.1 | The asn1 data format encodes values as ASN.1 BER/DER and decodes BER/DER back into values, either as a generic tree or typed by an ASN.1 module compiled at runtime; it can also split a stream of BER records. |
| Avro | The avro data format encodes the message body as Apache Avro (binary, JSON or Object Container File) using an Avro schema, and decodes Avro data back into a structured body. |
| Barcode | The barcode data format turns text into a barcode image (QR Code, Data Matrix, PDF417, Aztec, Code 128, EAN and more) on marshal, and reads the text back from a barcode image on unmarshal. |
| Base64 | The base64 data format encodes the message body as Base64 text (marshal) and decodes Base64 text back to bytes (unmarshal). |
| Bindy data formats | The Bindy data formats (bindyCsv, bindyFixed, bindyKvp) map delimited, fixed-length and key-value records to typed fields described by a record descriptor, in both directions. |
| CBOR | The cbor data format encodes the message body as CBOR, a compact binary form of JSON (RFC 8949), and decodes CBOR back into a structured body. |
| Crypto | The crypto data format encrypts a message body with a symmetric key (AES, DES or Triple DES) on marshal and decrypts it on unmarshal, with an optional HMAC to detect tampering. |
| CSV | The csv data format parses CSV text into rows (lists or maps) and writes rows back as CSV, following RFC 4180. |
| FHIR data formats | The fhirJson and fhirXml data formats parse HL7 FHIR resources from JSON or XML into a value and serialize resources back, which also converts between the two FHIR encodings. |
| Fory | The fory data format serializes values to and from the Apache Fory (formerly Fury) cross-language binary format, so Rust, Java, Python, Go and JavaScript services can share compact payloads. |
| GZip | The gzipDeflater data format compresses the message body to gzip (marshal) and decompresses gzip data (unmarshal). |
| Hex | The hex data format writes the message body as hexadecimal text (marshal) and reads hexadecimal text back into bytes (unmarshal). |
| HL7 | The hl7 data format parses HL7 v2 messages (ER7, the pipe-delimited text) into a structured value with the CamelHL7* headers, and encodes such values back to ER7 text. |
| iCal | The iCal data format parses iCalendar (RFC 5545, .ics) text into a structured value and writes such values back as iCalendar text. |
| JAXB | The jaxb data format converts XML to structured values and back, typed and optionally validated by an XML Schema (XSD), without generated Java classes. |
| JSON | The json data format turns JSON text into a structured message body (unmarshal) and any body back into JSON text (marshal). |
| MIME multipart | The mimeMultipart data format writes a message body and its attachments as one MIME multipart document, and splits a multipart document back into a body and attachments. |
| PGP | The pgp data format encrypts and signs message bodies with OpenPGP public keys on marshal, and decrypts and verifies them on unmarshal, compatible with GnuPG. |
| Protobuf | The protobuf data format encodes the message body as Protocol Buffers bytes (or proto3 JSON) using a .proto file, and decodes protobuf data back into a structured body. |
| String | The string data format converts the body to bytes in a chosen charset (marshal) and bytes back to text (unmarshal). |
| Syslog | The syslog data format parses RFC 5424 and RFC 3164 syslog lines into a structured value with the CamelSyslog* headers, and formats such values back into syslog lines. |
| Tar file | The tarFile data format packs a message body into a tar archive and unpacks tar archives back into one body or a list of entries. |
| Thrift | The thrift data format converts structured values to and from Apache Thrift binary, compact or JSON encodings, using a Thrift IDL file read at runtime instead of generated classes. |
| uniVocity data formats | The uniVocity data formats (univocityCsv, univocityTsv, univocityFixed) parse and write CSV, tab-separated and fixed-width files as rows or maps, with uniVocity's option names. |
| URL-encoded form | The urlencoded data format parses application/x-www-form-urlencoded text into a map (unmarshal) and writes a map as form text (marshal). |
| XML data format (Jackson XML) | The jacksonXml data format converts between XML text and a structured body: object keys become elements, lists repeat the element, and options map keys to attributes, text and namespaces. |
| YAML | The yaml data format parses YAML text into a structured body (unmarshal) and writes any body as YAML (marshal), like Camel's SnakeYAML data format. |
| Zip Deflater | The zipDeflater data format compresses the message body with zlib/DEFLATE (marshal) and decompresses it (unmarshal), like Java's java.util.zip.Deflater. |
| Zip File | The zipFile data format packs the message body into a .zip archive (marshal) and unpacks entries from a .zip archive (unmarshal). |