API04003: 잘못된 JSON 응답
이것이 의미하는 바
서버는 JSON으로 보이는 데이터를 반환했지만 손상되거나 유효하지 않습니다. POS는 JSON 구문이 깨져 있어서 응답을 분석할 수 없습니다.
일반적인 원인
- PHP 경고/알림 — JSON 이전의 PHP 출력
- BOM (바이트 순서 마크) — 파일 시작 시의 보이지 않는 문자
- 인코딩 문제 — 문자 인코딩 문제
- 잘린 응답 — 전송 중간에 응답이 잘림
- 플러그인 출력 — 플러그인이 비 JSON 콘텐츠를 추가함
수정 방법
1. PHP 경고 확인
JSON 이전의 PHP 경고/알림은 분석을 방해합니다:
wp-config.php에서:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
wp-content/debug.log를 검토하고 모든 문제를 수정하세요.
2. BOM 문자 확인
일부 텍스트 편집기는 보이지 않는 BOM 문자를 추가합니다:
- BOM 없이 PHP 파일 다시 저장
- BOM 없는 UTF-8 인코딩 사용
- 최근에 편집한 파일 확인
3. 전체 응답 검증
응답이 잘리고 있는 경우:
- PHP 출력 버퍼링 설정 확인
- php.ini에서
output_buffering증가 - 타임아웃 문제 확인
4. API 직접 테스트
브라우저에서나 curl을 사용하여:
curl -v https://yoursite.com/wp-json/wcpos/v1/
JSON 이전에 예기치 않은 콘텐츠가 있는지 확인하세요.
5. 문자 인코딩 확인
데이터베이스와 PHP가 UTF-8을 사용하고 있는지 확인하세요:
wp-config.php의 문자 집합 설정 확인- 데이터베이스 테이블이 UTF-8인지 확인
- 문제를 일으키는 특수 문자 확인