1.1.3 • Published 6 years ago

json-to-properties v1.1.3

Weekly downloads
306
License
MIT
Repository
github
Last release
6 years ago

json-to-properties

npm version

A util to convert files having a .json format into .properties format, and vice versa.

Installation

npm install json-to-properties -g

Usage

Running json-to-properties will convert any .json files that are found in the current directory, into to .properties files.

Example

{
    "KEY1": {
        "KEY2": "Hello"
    },
    "KEY3":"World"
}

result in a file containing

KEY1.KEY2=Hello
KEY3=World

Options

Various options are supported, including

-c, --config

Running the util with -c expects a config file in .json format containing two attributes: src and dist, where

  • src points to the directory containing the files to process and
  • dist points to the directory where the output files will be written

Example config.json

{
    src: "c:\json\myfiles",
    dist: "c:\properties\myconvertedfiles"
}

and run with

json-to-properties -c config.json

-r, --reverse

Performs the reversal process, converting .properties files into .json files.

Example

KEY1.KEY2=Hello
KEY3=World

result into a file containing

{
    "KEY1": {
        "KEY2": "Hello"
    },
    "KEY3":"World"
}

-s, --spaces

Accepts a number value identifying the number of spaces used within the output .json file. This is used in relation with -r, --reverse

Run using

json-to-properties -r -s 4

will use 4 spaces for each indented hierarchy.

-m, --merge

Running the util with the -m, --merge option bundles the generated .properties files into one file of a given name, or bundle.properties if none is specified. The content of the bundled file are prefixed with the name of the original file.

Example

json-to-properties -m bundles the content in a file named bundle.properties

json-to-properties -m mynewbundle.properties bundles the content in a file named mynewbundle.properties

Having two files en.json and it.json both containing the json content below

{
    "KEY1" : "Hello Sir",
    "KEY2" : "How is your day?"
}

will result in a bundle file bundle.properties having the below content.

EN.KEY1=Hello Sir
EN.KEY2=How is your day?
IT.KEY1=Hello Sir
IT.KEY2=How is your day?

Note that the standard behavior is preserved, thus two properties files en.properties and it.properties are also created.

Use of merge in conjunction with -r, --reverse option

The merge process can also be combined with the -r, -reverse flag, where the specified file (or bundle.properties if none is specified) is expanded into separate json files whose name is equivalent to the first part of a key.

Example

json-to-properties -r -m or json-to-properties -rm

Having a bundle file bundle.properties with the below content

EN.KEY1=Hello Sir
EN.KEY2=How is your day?
IT.KEY1=Salve signore
IT.KEY2=Com'è la tua giornata?

will result in two files, en_rm.json and it_rm.json, having the below content respectively.

{
    "KEY1": "Hello Sir",
    "KEY2": "How is your day?"
}

and

{
    "KEY1": "Salve signore",
    "KEY2": "Com'è la tua giornata?"
}

Note that the generated json files are suffixed with _rm not to override other .json files having the same name (in this case, en.json and it.json) that could be a result of the standard behavior of the reverse process.

Try It

The sample folder contains both .json and .properties files to download and test on.

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago