>  기사  >  CMS 튜토리얼  >  WordPress JSON 처리 관련 기능의 전체 목록

WordPress JSON 처리 관련 기능의 전체 목록

藏色散人
藏色散人앞으로
2019-09-20 11:17:523362검색

JSON 처리는 WordPress 개발에서 자주 처리해야 하는 작업입니다. 이러한 이유로 WordPress에서는 WordPress Tutorial 칼럼에서 모든 사람에게 통일된 소개를 제공합니다.

WordPress JSON 처리 관련 기능의 전체 목록

wp_json_encode

JSON으로 인코딩하고 무결성 검사를 수행하세요.

wp_json_encode( $data, $options = 0, $depth = 512 )

WordPress에서 이 기능을 도입한 이유에 대해 간략하게 이야기해 보겠습니다.

우선, json_encode 함수의 다양한 PHP 버전은 다양한 매개변수를 지원합니다. 이전에 PHP 5.3은 $data라는 하나의 매개변수만 지원했습니다. PHP 5.3에는 $options 매개변수가 도입되었고 PHP 5.5에는 $length 매개변수가 도입되었습니다. 따라서 WordPress는 다양한 버전의 PHP에 적응하고 wp_json_encode는 세 가지 매개변수를 지원하며 다양한 버전의 PHP와 호환됩니다.

json_encode 이전에 wp_json_encode는 _wp_json_prepare_data 함수를 사용하여 데이터를 정리합니다. 유형이 부울, 정수, 이중, 문자열, NULL인 경우 직접 반환됩니다. 배열인 경우 계속해서 _wp_json_prepare_data 함수를 사용하여 각각을 정리합니다. 객체인 경우 객체의 클래스가 JsonSerialized 인터페이스를 구현하는 경우 $data = $data->jsonSerialize()를 반환하고, 그렇지 않으면 계속해서 _wp_json_prepare_data를 사용하여 객체의 각 속성을 정리합니다.

그런 다음 json_encode를 사용하여 인코딩합니다. 실패하면 _wp_json_sanity_check를 사용하여 데이터에 대한 무결성 처리를 수행하고 마지막으로 json_encode를 사용하여 인코딩합니다. _wp_json_sanity_check는 주로 _wp_json_convert_string 함수를 사용하여 심층 UTF-8 감지 및 데이터 변환을 수행합니다.

따라서 JSON 인코딩 변수에는 wp_json_encode를 사용하는 것이 더 안정적입니다.

wpjam_json_encode

wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )

PHP5.4 JSON에는 JSON_UNESCAPED_UNICODE라는 새로운 옵션이 있습니다. 따라서 이름은 중국어를 더 읽기 쉽게 만들기 위해 유니코드로 인코딩하지 마세요.

그래서 wpjam_json_encode 함수를 작성했습니다. wp_json_encode와 비교하면 $options 매개변수의 기본값이 JSON_UNESCAPED_UNICODE로 설정됩니다. 이렇게 wpjam_json_encode($data)를 직접 사용하면 중국어가 유니코드로 인코딩되지 않고 더 많이 사용됩니다. 읽을 수 있습니다.

WPJAM 기본 플러그인을 설치하면 WordPress에서 이 기능을 사용할 수 있습니다.

wp_send_json

JSON 데이터를 직접 보냅니다.

wp_send_json( $response, $status_code = null )

그는 먼저 application/json의 Content-Type 헤더를 출력합니다. $status_code가 비어 있지 않으면 $status_code의 상태 코드를 출력합니다.

그런 다음 wp_json_encode를 호출하여 데이터를 인코딩합니다.

wpjam_send_json

wpjam_send_json( $response, $status_code = null )

또한 JSON 인코딩 후 중국어를 더 읽기 쉽게 만들기 위해 wpjam_send_json 함수도 작성했는데, 이는 데이터를 인코딩하기 위해 호출되는 함수가 wpjam_json_encode라는 점을 제외하면 wp_send_json과 거의 동일합니다.

또한 들어오는 데이터가 WP_Error의 인스턴스인 경우 wpjam_send_json은 errcode 및 errmsg JSON을 직접 출력합니다. errcode가 설정되지 않은 경우 wpjam_send_json은 자동으로 errcode=>0

WPJAM 기본 플러그인을 설치하고 WordPress에 이 기능을 추가합니다.

wp_send_json_success 및 wp_send_json_error

WordPress는 wp_send_json_success 및 wp_send_json_error라는 두 가지 기능도 제공합니다.

wp_send_json_success( $data = null, $status_code = null )
wp_send_json_error( $data = null, $status_code = null )

wp_send_json_success는 먼저 성공을 true로 출력한 다음 $data 데이터를 내부 데이터 출력에 넣습니다. . wp_send_json_error는 $data가 WP_Error 인스턴스인지 확인하고, 그렇다면 코드와 메시지 배열을 출력합니다. wpjam_send_json 구현에서는 이미 이러한 오류를 자동으로 처리할 수 있습니다. JWP_IS_JSON_REQUEST

현재 요청이 JSON 요청인지 또는 JSON 결과를 반환하는지 확인합니다. 이 함수에는 매개 변수가 없으며 직접 사용합니다.

wp_is_json_request() application/json을 포함하거나 $_SERVER['CONTENT_TYPE']이 다음과 같습니다. 애플리케이션/json. JWP_IS_JSONP_REQUEST

현재 요청이 JSONP 요청인지 확인하거나 JSONP 결과를 반환합니다. 이 함수에는 매개 변수가 없으며 직접 사용합니다.

wp_is_jsonp_request() 존재 여부를 확인한 다음 wp_check_jsonp_callback 함수를 사용하여 여부를 확인합니다. 가치는 합법적입니다.

wp_check_jsonp_callback

JSONP 콜백이 합법적인 자바스크립트 콜백 함수인지 확인하세요.

wp_check_jsonp_callback( $callback )

적법한 자바스크립트 콜백 함수에는 숫자와 문자, 영어 점만 포함될 수 있습니다.

위 내용은 WordPress JSON 처리 관련 기능의 전체 목록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 wpjam.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제