JSON Loves your command line. JSONITE is a JSON Builder for the command line. Use JSON on your command line, say no to json bloat
npm install jsonite-shell -g
Jsonite alone is cool, but working side by side with other tools is great.
curl -v -H "Content-Type: application/json" -X PUT -d `jsonite key=value` https://webtask.it.auth0.com/api/run/wt-damianfortu-gmail_com-0/jsonite-example
Test it by yourself!
Simply specify keys and values, that's it
jsonite homer=dad marge=mom bart=son lisa=daughter maggie=
Output
{"homer":"dad","marge":"mom","bart":"son","lisa":"daughter","maggie":null}
You can use patchs to write complex object
jsonite families[0].homer=dad families[0].marge=mom families[0].bart=son families[0].lisa=daughter families[0].maggie=
Output
{"families":[{"homer":"dad","marge":"mom","bart":"son","lisa":"daughter","maggie":null}]}
Use -p
argument to pretty print output
jsonite homer=dad marge=mom bart=son lisa=daughter maggie= -p
Output
{
"homer": "dad",
"marge": "mom",
"bart": "son",
"lisa": "daughter",
"maggie": null
}
You can use numbers and null values. User KEY=
for a null value KEY=number
for a number, they will be handled automatically. Use "
to input string with whitespaces.
jsonite age=22 fullname="John Doe" children[0]=lisa children[1]=bart address= -p
Output
{
"age": 22,
"fullname": "John Doe",
"children": [
"lisa",
"bart"
],
"address": null
}
Type guessing is cool, but sometimes is is problematic, don't worry, just state type using -t KEY=TYPE
arguments. Types might be string
or number
Avoid null type guessing for empty strings
jsonite family.details= -t family.details=string
Output
{"family":{"details":""}}
Avoid numeric type guessing for empty strings
jsonite family.age="22" -t family.age=string
Output
{"family":{"age":"22"}}