>  기사  >  백엔드 개발  >  PHP에서 JSON 문자열을 배열로 변환하는 방법(방법에 대한 간략한 분석)

PHP에서 JSON 문자열을 배열로 변환하는 방법(방법에 대한 간략한 분석)

PHPz
PHPz원래의
2023-04-12 09:22:52509검색

PHP는 매우 인기 있는 프로그래밍 언어이며 웹 개발 분야에서 널리 사용됩니다. PHP에서 JSON은 매우 일반적인 데이터 교환 형식이며, JSON 문자열을 배열로 변환하는 것은 JSON 데이터를 처리할 때 필수적인 단계입니다. 이 기사에서는 PHP에서 JSON 문자열을 배열로 변환하는 방법을 소개합니다.

1. JSON이란

JSON의 전체 이름은 JavaScript 개체 표기법이며, 이는 경량 데이터 교환 형식입니다. JavaScript의 객체 표현을 기반으로 하지만 JavaScript 언어와는 아무런 관련이 없으며 다양한 프로그래밍 언어로 구문 분석하고 생성할 수 있습니다.

JSON에서 데이터는 일반적으로 {"key1":"value1","key2":"value2"}와 같은 "키-값 쌍" 형식으로 표현됩니다. 그 중 키는 문자열 형식이어야 하며, 값은 문자열, 숫자, 부울 형식, 배열, 객체 등 다양한 데이터 형식이 될 수 있습니다. 이 데이터 형식의 장점은 이해하고 쓰기, 읽기 및 구문 분석, 전송 및 처리가 쉽다는 것입니다. 웹 개발에서 JSON은 프런트엔드와 백엔드 간의 데이터 교환에 자주 사용됩니다.

2. PHP에서 JSON 문자열을 배열로 변환하는 방법

PHP에서는 JSON 문자열을 배열로 변환하는 매우 간단한 방법인 json_decode() 함수를 제공합니다. 이 함수는 JSON 형식의 문자열을 PHP 배열이나 객체로 디코딩할 수 있습니다.

json_decode() 함수의 구문은 다음과 같습니다.

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

그 중 $json은 디코딩할 JSON 문자열, $assoc는 디코딩된 JSON을 연관 배열로 변환할지 여부를 나타내고, $length는 깊이를 나타냅니다. 변환, $options는 변환 시 옵션을 나타냅니다.

  1. JSON 문자열을 일반 객체로 변환

$assoc 매개변수가 전달되지 않거나 false인 경우 json_decode()는 기본적으로 디코딩된 JSON을 일반 객체로 변환합니다. 예:

$json_string = '{"name":"Tom","age":18}';
$obj = json_decode($json_string);
var_dump($obj);

출력:

object(stdClass)#1 (2) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(18)
}

위 코드는 JSON 문자열을 일반 객체로 디코딩합니다. 디코딩한 후 -> 연산자를 사용하여 객체의 속성 값을 가져올 수 있습니다.

  1. JSON 문자열을 연관 배열로 변환

$assoc 매개변수가 true로 설정되면 json_decode()는 디코딩된 JSON을 연관 배열로 변환합니다. 예:

$json_string = '{"name":"Tom","age":18}';
$arr = json_decode($json_string, true);
var_dump($arr);

출력:

array(2) {
  ["name"]=>string(3) "Tom"
  ["age"]=>int(18)
}

위 코드는 JSON 문자열을 연관 배열로 디코딩합니다. 디코딩 후 배열 인덱스를 사용하여 배열의 요소 값을 가져올 수 있습니다.

JSON 문자열을 연관 배열로 변환할 때 JSON에 중복 키가 있으면 마지막 키-값 쌍만 유지된다는 점에 유의해야 합니다.

  1. JSON 문자열을 PHP 개체로 변환

JSON을 일반 개체 및 연관 배열로 변환하는 것 외에도 json_decode() 함수는 JSON 문자열을 PHP 개체로 변환하는 메서드도 제공합니다. $assoc 매개변수를 false로 설정하고 stdClass 클래스를 사용하여 디코딩 프로세스 중에 새 객체를 생성해야 합니다. 예:

$json_string = '{"name":"Tom","age":18}';
$obj = json_decode($json_string, false, 512, JSON_OBJECT_AS_ARRAY);
$php_obj = new stdClass();
foreach($obj as $key => $value) {
    $php_obj->$key = $value;
}
var_dump($php_obj);

출력:

object(stdClass)#4 (2) {
  ["name"]=>
  string(3) "Tom"
  ["age"]=>
  int(18)
}

위 코드는 JSON 문자열을 PHP 객체로 디코딩합니다. foreach 루프를 사용하여 연관 배열의 키-값 쌍을 새 stdClass 객체에 전달한 다음 $-> 연산자를 사용하여 객체의 속성 값에 액세스합니다.

결론

PHP에서 JSON 문자열을 배열로 변환하는 것은 매우 간단합니다. json_decode() 함수를 사용하면 됩니다. JSON에 중복 키가 있는 경우 마지막 키-값 쌍만 유지된다는 점에 유의해야 합니다.

위 내용은 PHP에서 JSON 문자열을 배열로 변환하는 방법(방법에 대한 간략한 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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