From 7d0f8831922535502569a5dda989dde339b4e491 Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 11 Aug 2012 20:58:45 +0200 Subject: [PATCH] [py3] Fixed JSON deserialization --- django/core/serializers/json.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/django/core/serializers/json.py b/django/core/serializers/json.py index 3bac24d33a..4ba0d7fd79 100644 --- a/django/core/serializers/json.py +++ b/django/core/serializers/json.py @@ -61,13 +61,12 @@ def Deserializer(stream_or_string, **options): """ Deserialize a stream or string of JSON data. """ + if not isinstance(stream_or_string, (bytes, six.string_types)): + stream_or_string = stream_or_string.read() if isinstance(stream_or_string, bytes): stream_or_string = stream_or_string.decode('utf-8') try: - if isinstance(stream_or_string, six.string_types): - objects = json.loads(stream_or_string) - else: - objects = json.load(stream_or_string) + objects = json.loads(stream_or_string) for obj in PythonDeserializer(objects, **options): yield obj except GeneratorExit: