현재 위치: > 최신 기사 목록> JSON_LAST_ERROR_MSG 기능을 사용하여 프론트 엔드와 백엔드 사이의 데이터 전송 형식을 최적화하는 방법은 무엇입니까?

JSON_LAST_ERROR_MSG 기능을 사용하여 프론트 엔드와 백엔드 사이의 데이터 전송 형식을 최적화하는 방법은 무엇입니까?

gitbox 2025-09-21
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 이 기사와 PHP 관련된,사용 방법을 보여주는 데 사용됩니다 json_last_error_msg 데이터 전송 최적화</span></span><span>
</span><span><span class="hljs-comment">// -------------------------------</span></span><span>

</span><span><span class="hljs-comment"># 사용 방법 json_last_error_msg 프론트 엔드와 백엔드 사이의 데이터 전송 형식을 최적화하는 기능?</span></span><span>

현대에 Web 개발 중,전면과 후면 간의 데이터 상호 작용은 거의 분리 할 수 ​​없습니다. JSON 체재。프론트 엔드 패스 JavaScript 데이터를 캡슐화하십시오 JSON 물체,백엔드로 전달하십시오;백엔드를 사용하십시오 PHP 오른쪽 JSON 문자열 구문 분석 및 처리。하지만,데이터존재하다传输和解析过程가운데很容易出现체재错误,예를 들어, 인코딩 문제、인용문 또는 구문 불규칙성 누락。이러한 오류가 제 시간에 캡처되지 않은 경우,비정상적인 프로그램 작동 또는 데이터 손실을 유발할 수 있습니다.。为了更好地优化前后端之间的데이터传输체재,`</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` 기능은 매우 실용적인 도구가되었습니다。

</span><span><span class="hljs-comment">## 하나、무엇인가요 `json_last_error_msg()`</span></span><span>

존재하다 PHP 가운데,우리가 사용할 때 `</span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>()` 또는 `</span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>()` 기능 시간,오류가 발생할 수 있습니다。PHP 제공 `</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>()` 오류 코드를 반환합니다,그러나 이러한 오류 코드는 숫자입니다,직관적이지 않습니다。그리고 `</span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()` 则会返回오른쪽应的错误信息끈,개발자가 이해하고 디버깅하기가 더 쉽습니다。

예:

```php
</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-string">"{invalidJson: true}"</span></span><span>; </span><span><span class="hljs-comment">// 불법적인 JSON 끈</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$data</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"분석이 실패했습니다:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>();
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

출력은 다음과 같습니다.

 <span><span>분석이 실패했습니다:Syntax </span><span><span class="hljs-type">error</span></span><span>
</span></span>

이러한 방식으로 개발자는 오류 코드에만 의존하는 대신 문제를 빠르게 찾을 수 있습니다.

2. 프론트 엔드 및 백엔드 데이터 전송 최적화의 중요성

  1. 데이터 무결성 확인 : 전송 프로세스 중에 데이터 구조가 손상되면 시간이 지남에 따라 발견되어 프론트 엔드가 수정되도록 프롬프트 할 수 있습니다.

  2. 사용자 경험 향상 : 오류 메시지가 명확하고 명확하여 프론트 엔드를 용이하게하여 문제를 신속하게 찾아 내고 커뮤니케이션 비용을 줄입니다.

  3. 향상된 시스템 견고성 : 오류 감지 메커니즘을 통해 구문 분석 오류로 인한 비즈니스 로직 중단을 피할 수 있습니다.

3. 응용 프로그램 시나리오와 결합하여 연습하십시오

1. 프론트 엔드 데이터를 수신 할 때 확인하십시오

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 假设프론트 엔드 패스 AJAX 보내다 JSON 데이터</span></span><span>
</span><span><span class="hljs-variable">$jsonInput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">"php://input"</span></span><span>);
</span><span><span class="hljs-variable">$data</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_decode</span></span><span>(</span><span><span class="hljs-variable">$jsonInput</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">400</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
        </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"error"</span></span><span>,
        </span><span><span class="hljs-string">"message"</span></span><span> =&gt; </span><span><span class="hljs-string">"유효하지 않은 JSON 체재: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>()
    ]);
    </span><span><span class="hljs-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-comment">// 如果데이터체재正确,비즈니스 로직을 계속하십시오</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>([
    </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"success"</span></span><span>,
    </span><span><span class="hljs-string">"data"</span></span><span> =&gt; </span><span><span class="hljs-variable">$data</span></span><span>
]);
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이런 식으로 백엔드는 가능한 빨리 JSON 구문 분석 문제를 발견하고 친근한 오류 프롬프트를 반환 할 수 있습니다.

2. 데이터를 프론트 엔드로 출력 할 때 확인하십시오

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-variable">$response</span></span><span> = [
    </span><span><span class="hljs-string">"status"</span></span><span> =&gt; </span><span><span class="hljs-string">"success"</span></span><span>,
    </span><span><span class="hljs-string">"message"</span></span><span> =&gt; </span><span><span class="hljs-string">"작업이 완료되었습니다"</span></span><span>,
    </span><span><span class="hljs-string">"data"</span></span><span> =&gt; [</span><span><span class="hljs-string">"id"</span></span><span> =&gt; </span><span><span class="hljs-number">123</span></span><span>, </span><span><span class="hljs-string">"name"</span></span><span> =&gt; </span><span><span class="hljs-string">"사용자를 테스트하십시오"</span></span><span>]
];

</span><span><span class="hljs-variable">$jsonOutput</span></span><span> = </span><span><span class="hljs-title function_ invoke__">json_encode</span></span><span>(</span><span><span class="hljs-variable">$response</span></span><span>);

</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">json_last_error</span></span><span>() !== JSON_ERROR_NONE) {
    </span><span><span class="hljs-title function_ invoke__">error_log</span></span><span>(</span><span><span class="hljs-string">"JSON 코딩이 실패했습니다:"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">json_last_error_msg</span></span><span>());
    </span><span><span class="hljs-title function_ invoke__">http_response_code</span></span><span>(</span><span><span class="hljs-number">500</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"服务器데이터체재错误"</span></span><span>;
    </span><span><span class="hljs-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$jsonOutput</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

이를 통해 백엔드로 프론트 엔드로 반환 된 JSON 데이터는 항상 합법적이고 파싱 가능합니다.

4. 요약

프론트 엔드 데이터 전송에서 JSON은 핵심 형식입니다. 그러나 처리 과정에서 오류는 불가피합니다. JSON_LAST_ERROR_MSG ()는 개발자에게 문제를 신속하게 찾는 데 도움이 될뿐만 아니라 시스템의 견고성 및 사용자 경험을 크게 향상시키는 데 도움이되는 직관적 인 방법을 개발자에게 제공합니다. 이 기능을 데이터 수신 및 출력 링크에 합리적으로 적용함으로써 전면과 후면 사이의 데이터 전송 형식을 효과적으로 최적화하여 시스템 작동을보다 안정적이고 신뢰할 수 있습니다.

 <span></span>