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

267
Vistas
json_decode JSON_ERROR_UTF8 en una llamada API, pasa la prueba de validación cuando se copia/pega y todas las demás llamadas API funcionan bien

Estoy trabajando en un proyecto que utiliza la API de theyworkforyou (organización de datos políticos con sede en el Reino Unido) y específicamente la función getMPInfo() que toma la identificación del MP (miembro del parlamento) y devuelve muchos datos sobre ellos (cuando asumieron el cargo, cuánto tiempo han estado en el cargo, etc.)

El problema que tengo es que la siguiente línea de código funciona en todas las ID que he probado excepto en una (que he encontrado hasta ahora):

 var_dump(json_decode(file_get_contents("http://www.theyworkforyou.com/api/getMPInfo?key=MY_KEY&id=SOME_ID&output=js")));

si hago una llamada json_last_error() obtengo JSON_ERROR_UTF8 en esa ID.

El ID en cuestión es 10999. Puede probarlo en la sección de documentos de su portal API aquí .

Si acabo de mostrar http://www.theyworkforyou.com/api/getMPInfo?key=MY_KEY&id=10999&output=js en la pantalla y lo copio y lo pego en un validador json, parece pasar bien la prueba. He probado con 3 hasta ahora y ninguno ha encontrado una falla.

¿Alguien puede ver cuál es el problema o qué he hecho potencialmente mal? Podría ser una falla de la API, por supuesto, pero nunca he tenido un problema con ningún error de análisis json usando esta API en el pasado (la he estado usando con todos los MP en el pasado durante algunos años). funciona para todas las demás ID de MP con las que lo he probado y, como dije, parece ser json válido desde el punto de vista de los validadores en línea.

Gracias por tu tiempo.

PD: no estoy seguro de cómo podría replicar mi problema sin una clave API, así que aquí hay un enlace a la página de inicio del portal API donde puede registrarse para obtener una clave API.

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

0

JSON_ERROR_UTF8 error significa

Caracteres UTF-8 con formato incorrecto, posiblemente codificados incorrectamente

json_encode dice

Todos los datos de cadena deben estar codificados en UTF-8

Entonces solo necesita utf8_encode su entrada antes de pasarla a json_encode .

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