>  기사  >  백엔드 개발  >  JSON을 사용하여 PHP에서 데이터 인코딩 및 데이터 디코딩

JSON을 사용하여 PHP에서 데이터 인코딩 및 데이터 디코딩

王林
王林원래의
2023-06-19 15:03:131539검색

웹 애플리케이션이 널리 사용되면서 데이터 인코딩 및 디코딩은 필수 프로세스가 되었습니다. PHP에서는 데이터 인코딩 및 데이터 디코딩을 위해 JSON(JavaScript Object Notation)을 사용하는 것이 매우 대중적이고 일반적인 방법이 되었습니다.

JSON은 데이터를 JavaScript 개체 형식으로 표현하고 문자열로 쉽게 전송하고 구문 분석할 수 있는 경량 데이터 교환 형식입니다. PHP에서 JSON을 사용하여 데이터를 인코딩하고 디코딩하는 것은 매우 간단하며 구현하는 데 약간의 코드만 필요합니다.

PHP에서 JSON을 구현하는 방법은 다양합니다. 기본 PHP 기능을 사용하거나 타사 라이브러리와 결합할 수 있습니다. 하지만 PHP 5.2 이후 버전에서는 데이터 인코딩과 디코딩을 쉽게 수행할 수 있는 json_encode(), json_decode() 두 가지 함수가 제공됩니다.

다음은 이 두 함수의 사용법에 대한 자세한 소개입니다.

json_encode() 함수:

json_encode() 함수는 PHP 배열 또는 개체를 JSON 문자열로 변환할 수 있습니다. 구문은 다음과 같습니다.

string json_encode(mixed $value, int $options = 0, int $length = 512)

그 중 $value 매개 변수가 필수이며 $options 매개 변수를 인코딩할 값을 나타냅니다. 인코딩 옵션을 설정하는 데 사용되며 다음 값 중 하나일 수 있습니다.

JSON_HEX_TAG: XSS 공격을 방지하려면 'de4cacf2ee80e53e848d2069b604a0fd'를 모두 'u003C' 및 'u003E'로 변환합니다.

JSON_HEX_APOS: 문자열에서 따옴표 충돌을 방지하려면 모든 작은 따옴표를 'u0027'로 변환하세요.

JSON_HEX_QUOT: 문자열에서 따옴표 충돌을 방지하려면 모든 큰따옴표를 'u0022'로 변환하세요.

JSON_HEX_AMP: 양식을 제출할 때 문제가 발생하지 않도록 모든 '&'를 'u0026'으로 변환하세요.

JSON_UNESCAPED_SLASHES: 슬래시를 이스케이프 처리하지 마세요.

JSON_PRETTY_PRINT: 서식을 지정하려면 공백을 사용하세요.

$length 매개변수는 직렬화 깊이를 설정하는 데 사용됩니다. 이를 통해 배열이나 객체의 상호 참조로 인해 발생하는 무한 루프를 방지할 수 있습니다. 기본값은 512이며, 깊이를 제한하기 위해 0으로 설정할 수 있습니다.

예를 들어, PHP 배열을 JSON 문자열로 인코딩하려면 다음 코드를 사용할 수 있습니다:

b20e42c515b23a5ef420c7828915bb55'John', 'age'=>30 , 'city'=>'New York');
echo json_encode($arr);
?>

출력 결과는 다음과 같습니다:

{"name":"John","age":30," city": "New York"}

json_decode() 함수:

json_decode() 함수는 JSON 문자열을 PHP 배열 또는 객체로 변환할 수 있습니다. 구문은 다음과 같습니다.

mixed json_decode(string $json, bool $assoc = false, int $length = 512, int $options = 0)

그 중 $json 매개변수는 필수이며 JSON 문자열을 나타냅니다. $assoc 매개변수는 디코딩 후 반환되는 데이터 유형을 설정하는 데 사용되며 다음 값 중 하나일 수 있습니다.

false: 개체를 반환합니다.

true: 연관 배열을 반환합니다.

$length 매개변수는 json_encode() 함수와 동일한 방식으로 사용되며 객체 또는 배열의 상호 참조로 인해 발생하는 무한 루프를 방지하는 데 사용됩니다. $options 매개변수는 디코딩 중에 옵션을 설정하는 데 사용되며 다음 중 하나일 수 있습니다. 다음 값:

JSON_BIGINT_AS_STRING : JSON 문자열의 큰 정수를 문자열로 변환합니다.

예를 들어, JSON 문자열을 PHP 배열로 디코딩하려면 다음 코드를 사용할 수 있습니다:

967bd0393c651f2ef753d744013bface

출력 결과는 다음과 같습니다.

stdClass Object
(

[name] => John
[age] => 30
[city] => New York

)

결론:

실용성과 측면에서 호환성, JSON 현재 가장 널리 사용되는 데이터 형식 중 하나가 되었습니다. PHP에서 데이터 인코딩 및 데이터 디코딩에 JSON을 사용하는 것도 매우 편리하고 빠르며 안정적인 방법입니다. json_encode() 및 json_decode() 함수의 사용법을 익히면 개발자의 작업이 더욱 효율적이고 단순해집니다.

위 내용은 JSON을 사용하여 PHP에서 데이터 인코딩 및 데이터 디코딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.