PHP에서 JSON에서 데이터를 추출하는 방법
Minahil Noor
2021년2월25일
이 기사에서는 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