Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save phackwer/498f23b4d163fc2f3fc88b874b70a32b to your computer and use it in GitHub Desktop.
Save phackwer/498f23b4d163fc2f3fc88b874b70a32b to your computer and use it in GitHub Desktop.
Convert properties to JSON using jq. #properties $json #jq

README

Say we have a properties file at foo.properties.

First, clean-up whitespace and empty lines, store in foo-1.properties:

cat foo.properties | \
    sed 's/[[:space:]]*=[[:space:]]*/=/' | \
    sed 's/[[:space:]]*$//' | \
    sed '/^$/d' > foo-1.properties

Pipe to jq using raw mode (-R, to treat input as raw text lines) and slurp mode (-s to merge stream of objects into a single object)

cat foo-1.properties | \
    jq -R -s 'split("\n") | map(split("=")) | map({(.[0]): .[1]}) | add' > foo.json

See also: https://jqplay.org/s/v3fqcUGzvx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment