PHP에서 JSON에서 데이터를 추출하는 방법

Minahil Noor 2021년2월25일
PHP에서 JSON에서 데이터를 추출하는 방법

이 기사에서는 PHP에서 JSON에서 데이터를 추출하는 방법을 소개합니다.

  • json_decode()함수 사용

json_decode()함수를 사용하여 PHP에서 JSON에서 데이터 추출

내장 함수 json_decode()를 사용하여 JSON에서 데이터를 추출합니다. JSON 문자열을 객체 또는 배열로 변환하여 데이터를 추출합니다. 이 함수를 사용하기위한 올바른 구문은 다음과 같습니다.

json_decode($jsonString, $assoc, $depth, $options);

내장 함수json_decode()에는 4 개의 매개 변수가 있습니다. 매개 변수의 세부 사항은 다음과 같습니다

매개 변수 기술
$jsonString 필수 데이터를 추출하려는 JSON 인코딩 문자열입니다.
$assoc 선택 과목 부울 변수입니다. 참이면 함수는 연관 배열을 반환합니다. False이면 함수는 객체를 반환합니다.
$depth 선택 과목 정수입니다. 지정된 깊이를 지정합니다.
$options 선택 과목 JSON_BIGINT_AS_STRING,JSON_INVALID_UTF8_IGNORE,JSON_INVALID_UTF8_SUBSTITUTE,JSON_OBJECT_AS_ARRAY,JSON_THROW_ON_ERROR의 비트 마스크를 지정합니다. 자세한 내용은 여기에서 확인할 수 있습니다.

이 함수는 JSON 문자열이 적절한 형식이 아닌 경우 NULL을 반환합니다. $assoc 매개 변수에 따라 연관 배열 또는 객체를 반환합니다.

아래 프로그램은json_decode()함수를 사용하여 JSON 문자열에서 데이터를 추출하는 방법을 보여줍니다.

<?php 
$jsonString ='{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth":
    {
        "year":"1999",
        "month":"06",
        "day":"19"
    }
}';
$data = json_decode($jsonString);
echo("The data is: \n");
var_dump($data);
?> 
    

이 함수는$assoc 매개 변수를 전달하지 않았기 때문에 객체를 반환합니다.

출력:

The data is: 
object(stdClass)#1 (3) {
  ["firstName"]=>
  string(6) "Olivia"
  ["lastName"]=>
  string(5) "Mason"
  ["dateOfBirth"]=>
  object(stdClass)#2 (3) {
    ["year"]=>
    string(4) "1999"
    ["month"]=>
    string(2) "06"
    ["day"]=>
    string(2) "19"
  }
}

$assoc 매개 변수를 전달하면 함수는 연관 배열을 반환합니다.

<?php 
$jsonString ='{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth":
    {
        "year":"1999",
        "month":"06",
        "day":"19"
    }
}';
$data = json_decode($jsonString, true);
echo("The data is: \n");
var_dump($data);
?> 

출력:

The data is: 
array(3) {
  ["firstName"]=>
  string(6) "Olivia"
  ["lastName"]=>
  string(5) "Mason"
  ["dateOfBirth"]=>
  array(3) {
    ["year"]=>
    string(4) "1999"
    ["month"]=>
    string(2) "06"
    ["day"]=>
    string(2) "19"
  }
}

함수가 객체를 반환 한 경우 다음과 같은 방법으로 데이터에 액세스 할 수 있습니다.

<?php 
$jsonString ='{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth":
    {
        "year":"1999",
        "month":"06",
        "day":"19"
    }
}';
$data = json_decode($jsonString);
echo("The first name is: \n");
echo $data->firstName;
?> 

이 함수는 추출 된 데이터에서 이름을 반환합니다.

출력:

The first name is: 
Olivia

함수가 배열을 반환 한 경우 다음과 같은 방법으로 데이터에 직접 액세스 할 수 있습니다.

<?php 
$jsonString ='{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth":
    {
        "year":"1999",
        "month":"06",
        "day":"19"
    }
}';
$data = json_decode($jsonString, true);
echo("The first name is: \n");
echo $data['firstName'];
?> 

함수는 추출 된 데이터에서 이름을 반환합니다.

출력:

The first name is: 
Olivia

배열을 반복 할 수도 있습니다.

<?php 
$jsonString ='{
    "firstName":"Olivia",
    "lastName":"Mason",
    "dateOfBirth": "19-09-1999"
}';
$data = json_decode($jsonString, true);
foreach ($data as $key=> $data1) {
    echo $key, " : ";
    echo $data1, "\n";
}
?> 

함수는 추출 된 데이터를 반환합니다.

출력:

firstName : Olivia
lastName : Mason
dateOfBirth : 19-09-1999

관련 문장 - PHP JSON