# API04003: 잘못된 JSON 응답

## 이것이 의미하는 바[​](#what-this-means "이것이 의미하는 바으로 직접 링크")

서버는 JSON으로 보이는 데이터를 반환했지만 손상되거나 유효하지 않습니다. POS는 JSON 구문이 깨져 있어서 응답을 분석할 수 없습니다.

## 일반적인 원인[​](#common-causes "일반적인 원인으로 직접 링크")

* **PHP 경고/알림** — JSON 이전의 PHP 출력
* **BOM (바이트 순서 마크)** — 파일 시작 시의 보이지 않는 문자
* **인코딩 문제** — 문자 인코딩 문제
* **잘린 응답** — 전송 중간에 응답이 잘림
* **플러그인 출력** — 플러그인이 비 JSON 콘텐츠를 추가함

## 수정 방법[​](#how-to-fix "수정 방법으로 직접 링크")

### 1. PHP 경고 확인[​](#1-check-for-php-notices "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 문자 확인[​](#2-check-for-bom-characters "2. BOM 문자 확인으로 직접 링크")

일부 텍스트 편집기는 보이지 않는 BOM 문자를 추가합니다:

* BOM 없이 PHP 파일 다시 저장
* BOM 없는 UTF-8 인코딩 사용
* 최근에 편집한 파일 확인

### 3. 전체 응답 검증[​](#3-verify-complete-response "3. 전체 응답 검증으로 직접 링크")

응답이 잘리고 있는 경우:

* PHP 출력 버퍼링 설정 확인
* php.ini에서 `output_buffering` 증가
* 타임아웃 문제 확인

### 4. API 직접 테스트[​](#4-test-api-directly "4. API 직접 테스트으로 직접 링크")

브라우저에서나 curl을 사용하여:

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

JSON 이전에 예기치 않은 콘텐츠가 있는지 확인하세요.

### 5. 문자 인코딩 확인[​](#5-check-character-encoding "5. 문자 인코딩 확인으로 직접 링크")

데이터베이스와 PHP가 UTF-8을 사용하고 있는지 확인하세요:

* `wp-config.php`의 문자 집합 설정 확인
* 데이터베이스 테이블이 UTF-8인지 확인
* 문제를 일으키는 특수 문자 확인

## 관련 오류[​](#related-errors "관련 오류으로 직접 링크")

* [API04001](/ko/error-codes/API04001.md) — 잘못된 응답 형식
* [API04005](/ko/error-codes/API04005.md) — JSON 복구 시도
