diff options
| author | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
|---|---|---|
| committer | navewindre <boneyaard@gmail.com> | 2025-07-13 06:42:05 +0200 |
| commit | 02f14a9cb152561a5e44062aac79f3b700403b40 (patch) | |
| tree | 2db8ebda3b7f6f8777783aeb5c60018e6e1359d8 /home/.oh-my-zsh/plugins/jsontools/README.md | |
| parent | cbbdeb2f6b40a102a829f0c47cff052937231f00 (diff) | |
omz
Diffstat (limited to 'home/.oh-my-zsh/plugins/jsontools/README.md')
| -rw-r--r-- | home/.oh-my-zsh/plugins/jsontools/README.md | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/plugins/jsontools/README.md b/home/.oh-my-zsh/plugins/jsontools/README.md new file mode 100644 index 0000000..804edba --- /dev/null +++ b/home/.oh-my-zsh/plugins/jsontools/README.md @@ -0,0 +1,90 @@ +# jsontools + +Handy command line tools for dealing with json data. + +To use it, add `jsontools` to the plugins array in your zshrc file: + +```zsh +plugins=(... jsontools) +``` + +## Requirements + +The plugin uses one of these tools to process JSON data, in the following order: + +- `node` +- `python3` +- `ruby` + +Any of these must be in `$PATH` before the plugin is loaded, otherwise the plugin exits +prematurely and the functions will not be available. + +## Usage + +Usage is simple... just take your json data and pipe it into the appropriate jsontool: + +- `pp_json`: pretty prints json. +- `is_json`: returns true if valid json; false otherwise. +- `urlencode_json`: returns a url encoded string for the given json. +- `urldecode_json`: returns decoded json for the given url encoded string. + +### Supports NDJSON (Newline Delimited JSON) + +The plugin also supports [NDJSON](https://github.com/ndjson/ndjson-spec) input, which means all functions +have an alternative function that reads and processes the input line by line. These +functions have the same name except using `ndjson` instead of `json`: + +> `pp_ndjson`, `is_ndjson`, `urlencode_ndjson`, `urldecode_ndjson`. + +### Examples + +- **pp_json**: + +```console +# curl json data and pretty print the results +curl https://coderwall.com/bobwilliams.json | pp_json +``` + +- **is_json**: + +```console +# validate if file's content conforms to a valid JSON schema +$ is_json < data.json +true +# shows true / false and returns the proper exit code +$ echo $? +0 +``` + +- **urlencode_json**: + +```console +# json data directly from the command line +$ echo '{"b":2, "a":1}' | urlencode_json +%7B%22b%22:2,%20%22a%22:1%7D +``` + +- **urldecode_json**: + +```console +# url encoded string to decode +$ echo '%7B%22b%22:2,%20%22a%22:1%7D' | urldecode_json +{"b":2, "a":1} +``` + +- **pp_ndjson**: + +```console +# echo two separate json objects and pretty print both +$ echo '{"a": "b"}\n{"c": [1,2,3]}' | pp_ndjson +{ + "a": "b" +} +{ + "c": [ + 1, + 2, + 3 + ] +} +``` |
