>백엔드 개발 >PHP 문제 >PHP는 json을 배열 객체로 변환합니다.

PHP는 json을 배열 객체로 변환합니다.

PHPz
PHPz원래의
2023-05-11 09:26:36495검색

웹 개발에서는 JSON(JavaScript Object Notation) 형식이 널리 사용되는 데이터 교환 형식이 되었습니다. 널리 사용되는 서버측 언어인 PHP는 JSON 형식의 문자열을 배열 객체로 변환하는 기능을 자연스럽게 지원합니다. 이 기사에서는 PHP를 사용하여 JSON을 배열 객체로 변환하는 방법을 소개합니다.

  1. json_decode 함수 사용

PHP에 내장된 json_decode 함수는 JSON 형식 문자열을 PHP 배열 개체로 변환할 수 있습니다. 다음은 기본 사용 예입니다.

<?php
$json_str = '{"name": "张三", "age": 20}';
$array_obj = json_decode($json_str);
print_r($array_obj);
?>

위 코드에서는 먼저 name이라는 문자열 속성과 age라는 정수를 포함하는 JSON 형식 문자열 $json_str을 정의한 다음 json_decode 함수를 사용하여 문자열을 변환합니다. 배열 객체 $array_obj에 넣고 마지막으로 print_r 함수를 사용하여 배열 객체를 출력합니다. 이 스크립트를 실행한 결과는 다음과 같습니다.

stdClass Object
(
    [name] => 张三
    [age] => 20
)

json_decode 함수가 JSON 형식 문자열을 배열 개체로 성공적으로 변환하는 것을 볼 수 있습니다.

  1. 두 번째 매개변수를 사용하여 반환 결과의 유형을 지정하세요.

기본적으로 json_decode 함수는 stdClass 객체를 반환합니다. stdClass 객체는 PHP에 내장된 표준 클래스이며 모든 데이터 유형을 나타내는 데 사용됩니다. JSON 문자열을 연관 배열로 변환하려면(즉, 속성 이름을 키 이름으로 사용) 아래와 같이 두 번째 매개변수를 true로 설정하면 됩니다.

<?php
$json_str = '{"name": "张三", "age": 20}';
$array_obj = json_decode($json_str, true);
print_r($array_obj);
?>

여기서 두 번째 매개변수를 true로 설정하세요. json_decode 함수는 속성 이름을 키로 사용하여 연관 배열을 반환합니다. 이 스크립트를 실행하여 얻은 출력은 다음과 같습니다.

Array
(
    [name] => 张三
    [age] => 20
)

보다시피 json_decode 함수는 이전 예제 출력과 다른 연관 배열을 반환합니다.

  1. 변환 실패 처리

JSON 형식의 문자열을 배열 객체로 변환할 수 없는 경우 json_decode 함수는 null을 반환합니다. 따라서 코드에서 변환 실패 사례를 처리해야 합니다. 예는 다음과 같습니다.

<?php
$json_str = 'invalid json string';
$array_obj = json_decode($json_str);
if(is_null($array_obj)) {
    echo('JSON转换失败');
} else {
    print_r($array_obj);
}
?>

위 코드에서는 잘못된 JSON 문자열을 $json_str 변수에 할당한 다음 json_decode 함수를 사용하여 문자열을 변환합니다. 문자열을 배열 객체로 변환할 수 없으므로 json_decode 함수는 null을 반환합니다. 따라서 is_null 함수를 사용하여 반환 결과가 null인지 확인하면 "JSON 변환 실패"가 출력되고, 그렇지 않으면 변환된 배열 개체가 출력됩니다. 이 스크립트를 실행하여 얻은 출력은 다음과 같습니다.

JSON转换失败

Conclusion

PHP에서 json_decode 함수를 사용하여 JSON 형식 문자열을 배열 개체로 변환하는 것은 매우 기본적인 작업입니다. 이 문서에서는 json_decode 함수의 기본 사용법과 몇 가지 일반적인 팁 및 주의 사항을 소개합니다. 이러한 지식 포인트를 학습함으로써 독자는 PHP를 사용하여 JSON 형식의 데이터를 처리하는 데 더욱 능숙해질 수 있습니다.

위 내용은 PHP는 json을 배열 객체로 변환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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