  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:
          objects = json.loads(stream_or_string)
 
</s> remove     if isinstance(stream_or_string, six.string_types):
 </s> add     if isinstance(stream_or_string, str): </s> remove         if isinstance(stream_or_string, six.string_types):
 </s> add         if isinstance(stream_or_string, str): </s> remove         if not isinstance(wkt, (bytes, six.string_types)):
 </s> add         if not isinstance(wkt, (bytes, str)): </s> remove                 s = six.text_type(s, encoding, errors)
 </s> add                 s = str(s, encoding, errors) </s> remove             is_candidate = isinstance(obj, (bytes, six.string_types)) or hasattr(obj, '__geo_interface__')
 </s> add             is_candidate = isinstance(obj, (bytes, str)) or hasattr(obj, '__geo_interface__')
    if not isinstance(stream_or_string, (bytes, str)):
  def Deserializer(stream_or_string, **options):
      """
      Deserialize a stream or string of JSON data.
      """
    if not isinstance(stream_or_string, (bytes, str)):
          stream_or_string = stream_or_string.read()
      if isinstance(stream_or_string, bytes):
          stream_or_string = stream_or_string.decode('utf-8')
      try:
          objects = json.loads(stream_or_string)
keep keep keep keep replace keep keep keep keep keep
 Refs #23919 -- Removed six.<various>_types usage

Thanks Tim Graham and Simon Charette for the reviews. 
django/core/serializers/json.py