json flattener that outputs lines similar to xml2

Usage no npm install needed!

<script type="module">
  import json from 'https://cdn.skypack.dev/2json';



simple utility for transforming json documents into grep-able and sed-able lines


# json2 was already taken
npm install -g 2json


# json2 args
json2 [file] [< or_file]

# 2json
# -p flag pretty prints json
2json [file] [< or_file] [-p --pretty]

# get package name
basename $(json2 package.json | grep '/name')

# change package name and reconvert lines to json using 2json
json2 < package.json | sed 's@\(/name\)/.*@\1/new-name@' | 2json -p

escapes for json2/2json

The following are escaped--by being in quote strings, as per rules:

  • all forward slashes (/)
  • all index brackets ([ or ])
  • all strings that are just number characters (e.g. 00193425)

You must escape double quotes in strings, json2 does this.

backslash escapes for 2json

The following characters must be escaped to handle issues with newlines using backslashes, whether in quotes or not:

\ <- escape as \\


/ [ ] are reserved by the json line grammar, if such values are found in your json, they will be quoted in double quotes.