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

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

Linda Hamilton
Linda Hamilton원래의
2024-12-23 10:09:40417검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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