From 89fa0d53cc71bc26f9edf9817ea0cbf332a1c3d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 21 Aug 2017 16:58:21 +0100 Subject: [PATCH] sort keys when output is a dictonary --- rest_framework/renderers.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 779f0dd44..c775c69ae 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -99,10 +99,17 @@ class JSONRenderer(BaseRenderer): else: separators = INDENT_SEPARATORS - ret = json.dumps( - data, cls=self.encoder_class, - indent=indent, ensure_ascii=self.ensure_ascii, - separators=separators + if type(data) is dict: + ret = json.dumps( + data, cls=self.encoder_class, + indent=indent, ensure_ascii=self.ensure_ascii, + separators=separators, sort_keys=True + ) + else: + ret = json.dumps( + data, cls=self.encoder_class, + indent=indent, ensure_ascii=self.ensure_ascii, + separators=separators ) # On python 2.x json.dumps() returns bytestrings if ensure_ascii=True,