bafi icon indicating copy to clipboard operation
bafi copied to clipboard

Universal JSON, BSON, YAML, CSV, XML, mt940 converter with templates

Go CodeQL Go Report Card GoCover License Mentioned in Awesome Go GitHub tag (latest by date)

Universal JSON, BSON, YAML, CSV, XML translator to ANY format using templates

Key features

  • Various input formats (json, bson, yaml, csv, xml)
  • Flexible output formatting using text templates
  • Support for Lua custom functions which allows very flexible data manipulation
  • stdin/stdout support which allows get data from source -> translate -> delivery to destination. This allows easily translate data between different web services like REST to SOAP, SOAP to REST, REST to CSV, ...
  • Merge multiple input files in various formats into single output file formated using template

Documentation https://mmalcek.github.io/bafi/

Releases (Windows, MAC, Linux) https://github.com/mmalcek/bafi/releases

usage:

bafi.exe -i testdata.xml -t template.tmpl -o output.txt

or

curl.exe -s https://api.predic8.de/shop/customers/ | bafi.exe -f json -t "?{{toXML .}}"

More examples and description in documentation