Omniparser is a native Golang ETL parser that ingests input data of various formats (CSV, txt, fixed length/width, XML, EDI/X12/EDIFACT, JSON, and custom formats) in streaming fashion and transforms data into desired JSON output based on a schema written in JSON.
Please kindly consider sponsoring the project to fund future development and issue resolutions: https://awesomeopensource.com/project/sponsors/jf-tech
Min Golang Version: 1.14
custom_funcis used, specially the all mighty
In the example folders above you will find pairs of input files and their schema files. Then in the
.snapshots sub directory, you'll find their corresponding output files.
Use https://omniparser.herokuapp.com/ (may need to wait for a few seconds for heroku instance to wake up) for trying out schemas and inputs, yours or existing samples, to see how ingestion and transform work.
csv2file format that supersedes the original
csvformat with support of hierarchical and nested records.
fixedlength2file format that supersedes the original
fixed-lengthformat with support of hierarchical and nested envelopes.
Transform.RawRecord()for caller of omniparser to access the raw ingested record.
custom_parsein favor of
custom_parseis still usable for back-compatibility, it is just removed from all public docs and samples).
NonValidatingReaderEDI segment reader.
omni.2.1due a number of incompatible schema changes:
transformcmd or long-running http