Skip to content

defuncart/json_to_csv

Repository files navigation

json_to_csv

A tool to convert multiple json files to csv.

Getting Started

Given json files of the form

{
    "helloWorld": "Hello World!"
}
{
    "helloWorld": "Hallo Welt!"
}

a csv file

key;en;de;
helloWorld;Hello World!;Hallo Welt!;

is generated.

Note that the column headers en, de are automatically inferred from json basename.

Add dependency

Firstly, add the package as a dev dependency:

dev_dependencies: 
  json_to_csv:
    git:
      url: https://github.com/defuncart/json_to_csv

Define Settings

Settings can either be defined as command line arguments or in pubspec.yaml.

Setting Description
files_path A path to folder containing json files.
main_file A path to folder containing main json file (i.e. en.json).
output_file A path to save the generated csv file.
csv_delimiter A delimiter to separate columns in the input CSV file. Defaults to ;.

Command Line Arguments

dart run json_to_csv --files_path="assets/json/" --main_file="assets/json/en.json" --output_file="assets/test.csv" --csv_delimiter=";"

pubspec.yaml

json_to_csv:
  files_path: 'assets/json/'
  main_file: 'assets/json/en.json'
  output_file: 'assets/test.csv'
  csv_delimiter: ';'

Run package

Ensure that your current working directory is the project root, then run the following command:

dart run json_to_csv

Global Activation

The package can be global activated and used as a cli tool as follows:

dart pub global activate -sgit https://github.com/defuncart/json_to_csv

json_to_csv --files_path="assets/json/" --main_file="assets/json/en.json" --output_file="assets/test.csv" --csv_delimiter=";"

The package can be deactivated as follows:

dart pub global deactivate json_to_csv

Collaboration

Spotted any issues? Please open an issue on GitHub! Would like to contribute a new feature? Fork the repo and submit a PR!

About

A tool to convert multiple json files to csv.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages