jose-fmt(1) - phpMan

JOSE-FMT(1)                                                        JOSE-FMT(1)
NAME
       jose-fmt - Converts JSON between serialization formats
SYNOPSIS
       jose fmt OPTIONS
OVERVIEW
       This  jose  fmt  command  provides a mechanism for building and parsing
       JSON objects from the command line.  It  operates  as  a  simple  stack
       machine.  All  commands  operate  on  the  TOP  item  of the stack and,
       occasionally, the PREV item of  the  stack.  Commands  that  require  a
       specific  type  of  value will indicate it in parentheses. For example:
       "TOP (arr.)".
       This program returns 0 on success or the  index  of  the  option  which
       failed.
OPTIONS
       -X, --not
              Invert the following assertion
       -O, --object
              Assert TOP to be an object
       -A, --array
              Assert TOP to be an array
       -S, --string
              Assert TOP to be a string
       -I, --integer
              Assert TOP to be an integer
       -R, --real
              Assert TOP to be a real
       -N, --number
              Assert TOP to be a number
       -T, --true
              Assert TOP to be true
       -F, --false
              Assert TOP to be false
       -B, --boolean
              Assert TOP to be a boolean
       -0, --null
              Assert TOP to be null
       -E, --equal
              Assert TOP to be equal to PREV
       -Q, --query
              Query the stack by deep copying and pushing onto TOP
       -M #, --move=#
              Move TOP back # places on the stack
       -U, --unwind
              Discard TOP from the stack
       -j JSON, --json=JSON
              Parse JSON constant, push onto TOP
       -j FILE, --json=FILE
              Read from FILE, push onto TOP
       -j -, --json=-
              Read from STDIN, push onto TOP
       -c, --copy
              Deep copy TOP, push onto TOP
       -q STR, --quote=STR
              Convert STR to a string, push onto TOP
       -o FILE, --output=FILE
              Write TOP to FILE
       -o -, --output=-
              Write TOP to STDOUT
       -f FILE, --foreach=FILE
              Write TOP (obj./arr.) to FILE, one line/item
       -f -, --foreach=-
              Write TOP (obj./arr.) to STDOUT, one line/item
       -u FILE, --unquote=FILE
              Write TOP (str.) to FILE without quotes
       -u -, --unquote=-
              Write TOP (str.) to STDOUT without quotes
       -t #, --truncate=#
              Shrink TOP (arr.) to length #
       -t -#, --truncate=-#
              Discard last # items from TOP (arr.)
       -i #, --insert=#
              Insert TOP into PREV (arr.) at #
       -a, --append
              Append TOP to the end of PREV (arr.)
       -a, --append
              Set missing values from TOP (obj.) into PREV (obj.)
       -x, --extend
              Append items from TOP to the end of PREV (arr.)
       -x, --extend
              Set all values from TOP (obj.) into PREV (obj.)
       -d NAME, --delete=NAME
              Delete NAME from TOP (obj.)
       -d #, --delete=#
              Delete # from TOP (arr.)
       -d -#, --delete=-#
              Delete # from the end of TOP (arr.)
       -l, --length
              Push length of TOP (arr./str./obj.) to TOP
       -e, --empty
              Erase all items from TOP (arr./obj.)
       -g NAME, --get=NAME
              Get item with NAME from TOP (obj.), push to TOP
       -g #, --get=#
              Get # item from TOP (arr.), push to TOP
       -g -#, --get=-#
              Get # item from the end of TOP (arr.), push to TOP
       -s NAME, --set=NAME
              Sets TOP into PREV (obj.) with NAME
       -s #, --set=#
              Sets TOP into PREV (obj.) at #
       -s -#, --set=-#
              Sets TOP into PREV (obj.) at # from the end
       -y, --b64load
              URL-safe Base64 decode TOP (str.), push onto TOP
       -Y, --b64dump
              URL-safe Base64 encode TOP, push onto TOP
EXAMPLES
       Extract the alg parameter from a JWE Protected Header:
           $ jose fmt -j "$jwe" -Og protected -yOg alg -Su-
           A128KW
       List all JWKs in a JWKSet (one per line):
           $ echo "$jwkset" | jose fmt -j- -Og keys -Af-
           {"kty":"oct",...}
           {"kty":"EC",...}
       Change the algorithm in a JWK:
           $ echo "$jwk" | jose fmt -j- -j '"A128GCM"' -s alg -Uo-
           {"kty":"oct","alg":"A128GCM",...}
       Build a JWE template:
           $ jose fmt -j '{}' -cs unprotected -q A128KW -s alg -UUo-
           {"unprotected":{"alg":"A128KW"}}
AUTHOR
       Nathaniel McCallum <npmccallum AT redhat.com>
                                  August 2019                      JOSE-FMT(1)