Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@mjclemente
Forked from brokaw/PrettyJSON.py
Created April 9, 2021 20:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mjclemente/419452f3e2916c24517a1773b3922f5f to your computer and use it in GitHub Desktop.
Save mjclemente/419452f3e2916c24517a1773b3922f5f to your computer and use it in GitHub Desktop.
A BBEdit text filter to prettify JSON.
#!/usr/bin/env python3
# A text filter for BBEdit. If it encounters a JSON error, it writes an error
# message to stderr (appears in a new BBEdit window) and leaves the original
# text unaltered. c.f.
# http://crisp.tumblr.com/post/2574967567/json-pretty-print-formatting-in-bbedit
# c.f. http://blog.scottlowe.org/2013/11/11/making-json-output-more-readable-with-bbedit/
import json
import sys
def main():
input = sys.stdin.read()
try:
obj = json.loads(input)
except Exception as e:
sys.stderr.write(f"Error reading JSON: {str(e)}\n")
return 1
json.dump(obj, sys.stdout, ensure_ascii=True, indent=2)
return 0
if __name__ == '__main__':
sys.exit(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment