This file enumerates some common patterns for working with jsonpipe output. The
examples here use the file example.json
, which can be found in the root of
this repo. Basic familiarity with the UNIX shell, common utilities and regular
expressions is assumed.
In Python:
>>> json[12]['user']['screen_name'] u"ManiacasCarlos"
On the command-line, just grep for the specific path you're looking for:
$ jsonpipe < example.json | grep -P '^/12/user/screen_name\t' /12/user/screen_name "ManiacasCarlos"
The pattern used here is terminated with \t
, because otherwise we'd get
sub-components of the screen_name
path if it were an object, and we'd also
pick up any keys which started with the string screen_name
(so we might get
screen_name_123
and screen_name_abc
if those keys existed).
In Python:
>>> json[12]['user'] {... u'screen_name': u'ManiacasCarlos', ...}
On the command-line, grep for the path again but terminate with /
instead
of \t
:
$ jsonpipe < example.json | grep -P '^/12/user/' ... /12/user/profile_use_background_image true /12/user/protected false /12/user/screen_name "ManiacasCarlos" /12/user/show_all_inline_media false ...
You can also filter for either a simple value or an entire object by terminating the pattern with a character range:
$ jsonpipe < example.json | grep -P '^/12/user[/\t]' /12/user {} /12/user/contributors_enabled false /12/user/created_at "Mon Jan 31 20:42:31 +0000 2011" /12/user/default_profile false ...
Find users with a screen name beginning with a lowercase 'm':
$ jsonpipe < example.json | grep -P '/user/screen_name\t"m' /0/user/screen_name "milenemagnus_" /11/user/screen_name "mommiepreneur" /14/user/screen_name "mantegavoadora"