Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

310
Vistas
TypeError: el objeto JSON debe ser str, no 'bytes'

Tengo el siguiente código muy básico que arroja; TypeError: the JSON object must be str, not 'bytes'

 import requests import json url = 'my url' user = 'my user' pwd = 'my password' response = requests.get(url, auth=(user, pwd)) if(myResponse.ok): Data = json.loads(myResponse.content)

Intento configurar la decodificación en la variable de datos, de la siguiente manera, pero arroja el mismo error; jData = json.loads(myResponse.content).decode('utf-8')

¿Alguna sugerencia?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

json.loads(myResponse.content.decode('utf-8'))

Lo pusiste en el orden equivocado, error inocente.


(Respuesta detallada). Como señaló cortésmente wim, en algunos casos excepcionales, podrían optar por UTF-16 o UTF-32. Estos casos serán menos comunes ya que los desarrolladores, en ese escenario, estarían decidiendo conscientemente desperdiciar ancho de banda valioso. Entonces, si tiene problemas de codificación, puede cambiar utf-8 a 16, 32, etc.

Hay un par de soluciones para esto. Puede usar la función .json() incorporada de la solicitud:

 myResponse.json()

O bien, puede optar por la detección de caracteres a través chardet . Chardet es una biblioteca desarrollada a partir de un estudio. La biblioteca tiene una función: detect . Detect puede detectar las codificaciones más comunes y luego usarlas para codificar su cadena.

 import chardet json.loads(myResponse.content.decode(chardet.detect(myResponse.content)["encoding"]))
over 4 years ago · Santiago Trujillo Denunciar

0

Deje que las solicitudes lo decodifiquen por usted:

 data = response.json()

Esto verificará los encabezados (Tipo de contenido) y la codificación de la respuesta, detectando automáticamente cómo decodificar el contenido correctamente.

over 4 years ago · Santiago Trujillo Denunciar

0

python3.6+ hace esto automáticamente, por lo que su código no debería devolver un error en python3.6+

qué hay de nuevo en python3.6

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda