diff --git a/Lib/json/encoder.py b/Lib/json/encoder.py index c8c78b9c237652..f4150c3665d610 100644 --- a/Lib/json/encoder.py +++ b/Lib/json/encoder.py @@ -350,7 +350,10 @@ def _iterencode_dict(dct, _current_indent_level): item_separator = _item_separator first = True if _sort_keys: - items = sorted(dct.items()) + try: + items = sorted(dct.items()) + except(TypeError): + items = sorted(dct.items(), key=lambda kv: str(kv[0])) else: items = dct.items() for key, value in items: