3 ms·
I did not know about jq, thanks! Without jq, you can still pipe to python json.tool module: $ curl http://domain.com http://domain.com | python -m json.tool
by cellover 11y ago
I did not know about jq, thanks!
Without jq, you can still pipe to python json.tool module:
$ curl http://domain.com http://domain.com | python -m json.tool
- _Codemonkeyism 11y agoI often use jq to extract data from REST apis, e.g. email addresses I need in a CSV file.
- agumonkey 11y agojq is almost a full fledge programming language, like xquery, surprisingly powerful (in good and bad ways). Nice to port fragile sed-grep LoC.
- 100k 11y agoI used to do this, but now I use jq. The thing about the Python version is that Python doesn't have ordered dictionaries, so the output isn't in the same order as the raw JSON. jq doesn't have that issue which is nice.
- batbomb 11y agoPython does have ordered dictionaries, but the json decoder defaults to regular dictionaries. This is easily overridable with JSONDecoder.
- 100k 11y agoIs there a one-liner you can use from the shell that preserves order?
- hnov 11y agoStarting with 3.5[0] that's the standard behavior. One liner-wise, you could create an alias echo '{"foo":12, "bar": 11}' | python -c 'import json as j, collections as c, sys as s; j.dump(j.load(s.stdin, object_pairs_hook=c.OrderedDict), s.stdout, indent=4)' [0] https://github.com/python/cpython/blob/3.5/Lib/json/tool.py#L40-L41 https://github.com/python/cpython/blob/3.5/Lib/json/tool.py#...
- deleted 11y ago[deleted]