>  기사  >  백엔드 개발  >  PHP에서 JSON 데이터를 배열로 변환하는 방법

PHP에서 JSON 데이터를 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-14 17:49:39745검색

머리말

웹 개발에서 JSON은 일반적으로 사용되는 데이터 형식으로 데이터 상호 작용 및 저장에 널리 사용됩니다. 사용 시 JSON 데이터를 배열로 변환하여 처리해야 합니다. 이 기사에서는 PHP에서 JSON 데이터를 배열로 변환하는 방법을 소개합니다.

JSON 소개

JSON(JavaScript Object Notation)은 읽고, 쓰고, 이해하기 쉬운 경량 데이터 교환 형식입니다. 이는 JavaScript 구문의 하위 집합을 기반으로 하지만 다양한 프로그래밍 언어를 지원합니다. JSON 형식의 데이터는 키-값 쌍으로 표현되며, 키와 값은 콜론(:)으로 구분되고, 키-값 쌍은 쉼표(,)로 구분되며, 전체는 중괄호({}) 또는 대괄호([] )를 포함합니다.

JSON 데이터 예:

{
    "name": "John",
    "age": 30,
    "married": true,
    "hobbies": ["music", "reading", "traveling"],
    "address": {
        "city": "New York",
        "street": "Broadway"
    }
}

JSON 데이터를 배열로 변환

PHP에서는 내장 함수 json_decode()를 사용하여 JSON 데이터를 배열로 변환할 수 있습니다. 이 함수는 두 개의 매개변수를 받습니다. 첫 번째 매개변수는 구문 분석할 JSON 문자열이고, 두 번째 매개변수는 JSON 개체를 연관 배열로 변환할지 여부를 지정하는 부울 값입니다. 이 매개변수가 true이면 JSON 개체가 연관 배열로 변환되고, 그렇지 않으면 JSON 개체가 인덱스 배열로 변환됩니다.

샘플 코드:

$json_str = '{ "name": "John", "age": 30, "married": true, "hobbies": ["music", "reading", "traveling"], "address": { "city": "New York", "street": "Broadway" } }';
$arr = json_decode($json_str, true); // 将JSON数据转为关联数组
print_r($arr);

출력 결과:

Array
(
    [name] => John
    [age] => 30
    [married] => 1
    [hobbies] => Array
        (
            [0] => music
            [1] => reading
            [2] => traveling
        )

    [address] => Array
        (
            [city] => New York
            [street] => Broadway
        )

)

위 코드에서는 json_decode() 함수를 사용하여 JSON 데이터를 연관 배열로 변환합니다. 배열을 인쇄하면 JSON 데이터가 성공적으로 배열로 변환된 것을 확인할 수 있습니다.

JSON 데이터에 유니코드 문자가 포함된 경우 json_decode() 함수 전에 이스케이프해야 한다는 점에 유의해야 합니다. json_encode() 함수를 사용하여 원본 데이터를 이스케이프하거나 htmlspecialchars()를 사용하여 특수 문자를 이스케이프할 수 있습니다.

요약

JSON은 일반적으로 사용되는 데이터 형식으로 웹 개발에 널리 사용될 수 있습니다. PHP에서 JSON 데이터는 내장 함수 json_decode()를 통해 배열로 구문 분석될 수 있으며, 이는 후속 데이터 처리를 용이하게 합니다. 실제 애플리케이션에서는 데이터에 특수 문자가 포함된 경우 이스케이프 문제에 주의를 기울여야 합니다.

위 내용은 PHP에서 JSON 데이터를 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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