httpie-cli/httpie/output/processors/json.py
Jakub Roztocil 05db75bdb1 Modularized output, refactoring
Making it ready for output formatting plugin API.
2014-04-27 21:58:00 +02:00

24 lines
705 B
Python

from __future__ import absolute_import
import json
from .base import BaseProcessor, DEFAULT_INDENT
class JSONProcessor(BaseProcessor):
def process_body(self, body, mime):
if 'json' in mime:
try:
obj = json.loads(body)
except ValueError:
# Invalid JSON, ignore.
pass
else:
# Indent, sort keys by name, and avoid
# unicode escapes to improve readability.
body = json.dumps(obj,
sort_keys=True,
ensure_ascii=False,
indent=DEFAULT_INDENT)
return body