view python/jsonex.py @ 687:e50a95358db3

allow loading urls
author Jeff Hammel <k0scist@gmail.com>
date Mon, 02 Jun 2014 11:20:19 -0700
parents cea81044578e
children 6f48a3e5ab41
line wrap: on
line source

#!/usr/bin/env python

"""
JSON explorer
"""

import argparse
import json
import os
import sys
import urllib2

def main(args=sys.argv[1:]):

    # command line
    parser = argparse.ArgumentParser(description='__doc__')
    parser.add_argument('input', nargs='?',
                        help="input file or url (read from stdin if ommitted)")
    parser.add_argument('object', nargs='*',
                        help="object in dotted notation")

    options = parser.parse_args(args)

    # get data
    if not options.input or options.input == '-':
        data = sys.stdin
    elif'://' in options.input:
        data = urllib2.urlopen(options.input)
    else:
        data = open(options.input, 'r')
    obj = json.load(data)

    if options.object:
        for o in options.object:
            foo = arg.split('.') # split into objects
            # TODO: split into slice notation
            pass # TODO
    else:
        print json.dumps(obj, indent=2, sort_keys=True)

if __name__ == '__main__':
    main()