Salta al contenuto principale
Versione: 1.x

API04003: Risposta JSON Malformata

Cosa Significa

Il server ha restituito dati che sembrano essere JSON ma sono corrotti o non validi. Il POS non è riuscito a analizzare la risposta perché la sintassi JSON è interrotta.

Cause Comuni

  • Avvisi/Warning PHP — Output PHP prima del JSON
  • BOM (Byte Order Mark) — Caratteri invisibili all'inizio del file
  • Problemi di codifica — Problemi di codifica dei caratteri
  • Risposta troncata — Risposta interrotta a metà trasmissione
  • Output di plugin — Un plugin ha aggiunto contenuto non JSON

Come Risolvere

1. Controlla gli Avvisi PHP

Gli avvisi/warning PHP prima del JSON interrompono l'analisi:

In wp-config.php:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Esamina wp-content/debug.log e risolvi eventuali problemi.

2. Controlla i Caratteri BOM

Al editor di testo alcuni aggiungono caratteri BOM invisibili:

  • Rileggi i file PHP senza BOM
  • Utilizza codifica UTF-8 senza BOM
  • Controlla i file modificati di recente

3. Verifica la Risposta Completa

Se le risposte vengono troncate:

  • Controlla le impostazioni di buffer di output PHP
  • Aumenta output_buffering in php.ini
  • Controlla eventuali problemi di timeout

4. Testa l'API Direttamente

Nel tuo browser o usando curl:

curl -v https://yoursite.com/wp-json/wcpos/v1/

Cerca eventuali contenuti imprevisti prima del JSON.

5. Controlla la Codifica dei Caratteri

Assicurati che il database e PHP utilizzino UTF-8:

  • Controlla le impostazioni di charset in wp-config.php
  • Verifica che le tabelle del database siano in UTF-8
  • Cerca caratteri speciali che causano problemi

Errori Correlati

  • API04001 — Formato di Risposta Non Valido
  • API04005 — Tentativo di Recupero JSON