Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

255
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!