> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 JSON의 데이터에 어떻게 액세스합니까?

PHP를 사용하여 JSON의 데이터에 어떻게 액세스합니까?

Linda Hamilton
풀어 주다: 2024-12-23 10:09:40
원래의
368명이 탐색했습니다.

How Do I Access Data from JSON Using PHP?

PHP를 사용하여 JSON의 데이터에 어떻게 액세스하나요?

PHP는 JSON 문자열을 디코딩하고 이를 PHP 데이터 구조로 변환하는 json_decode() 함수를 제공합니다. 결과에 액세스하는 방법을 살펴보겠습니다.

객체 속성 액세스:

객체 속성은 $object->property를 통해 액세스할 수 있습니다. 예:

$json = '{"type": "donut", "name": "Cake"}';
$yummy = json_decode($json);
echo $yummy->type; // "donut"
로그인 후 복사

배열 요소 액세스:

배열 요소는 $array[0]를 통해 액세스할 수 있습니다. 예:

$json = '["Glazed", "Chocolate with Sprinkles", "Maple"]';
$toppings = json_decode($json);
echo $toppings[1]; // "Chocolate with Sprinkles"
로그인 후 복사

중첩 항목 액세스:

중첩 항목은 $object-> ->등. :

$json = '{"type": "donut", "name": "Cake", "toppings": [{"id": "5002", "type": "Glazed"}]}';
$yummy = json_decode($json);
echo $yummy->toppings[0]->id; // "5002"
로그인 후 복사

연관배열로 변환:

JSON을 변환하려면 json_decode()의 두 번째 매개변수로 true를 전달합니다. 객체는 키가 문자열인 연관 배열로 디코딩됩니다:

$json = '{"type": "donut", "name": "Cake"}';
$yummy = json_decode($json, true);
echo $yummy['type']; // "donut"
로그인 후 복사

연관 배열 항목에 액세스:

는 foreach(array_expression as $key)를 통해 수행할 수 있습니다. =>$ 가치) 키 및 값 탐색:

$json = '{"foo": "foo value", "bar": "bar value", "baz": "baz value"}';
$assoc = json_decode($json, true);
foreach ($assoc as $key => $value) {
    echo "The value of key '$key' is '$value'" . PHP_EOL;
}
로그인 후 복사

출력:

The value of key 'foo' is 'foo value'
The value of key 'bar' is 'bar value'
The value of key 'baz' is 'baz value'
로그인 후 복사

알 수 없는 데이터 구조:

데이터 구조를 모르는 경우 , 관련 문서를 참조하거나 print_r()을 사용하세요. 결과를 확인하세요.

print_r(json_decode($json));
로그인 후 복사

json_decode()가 null을 반환합니다.

이는 JSON이 null이거나 유효하지 않은 경우에 발생합니다. 오류 메시지를 확인하려면 json_last_error_msg()를 사용하세요.

특수 문자 속성 이름:

특수 문자가 포함된 속성 이름에 액세스하려면 {"@attributes":{"answer":42}}를 사용하세요.

$json = '{"@attributes":{"answer":42}}';
$thing = json_decode($json);
echo $thing->{'@attributes'}->answer; //42
로그인 후 복사

위 내용은 PHP를 사용하여 JSON의 데이터에 어떻게 액세스합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿