>백엔드 개발 >PHP 문제 >PHP에서 json을 배열로 변환하는 방법

PHP에서 json을 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-23 16:45:54963검색

프로그래밍에서 서로 다른 데이터 형식 간의 변환은 매우 일반적인 작업입니다. 그 중 JSON(JavaScript Object Notation) 형식의 데이터를 배열로 변환하는 것은 일반적인 요구 사항입니다. 예를 들어 PHP에서는 JSON 형식의 데이터를 처리하기 위해 배열로 변환해야 합니다. 이번 글에서는 PHP를 통해 JSON 형식의 데이터를 배열로 변환하는 방법을 소개합니다.

1. JSON 형식이란

JSON은 JavaScript Object Notation의 약어로 가벼운 데이터 교환 형식입니다. 객체와 배열을 포함한 키-값 쌍의 형태로 데이터를 표현하며, 읽기 쉽고, 파싱하기 쉽고, 생성과 파싱도 쉽습니다. 프론트엔드와 백엔드 모두에서 널리 사용되며 데이터 전송, 저장, 디스플레이 등 다양한 측면에서 사용될 수 있습니다.

2. JSON 형식의 일반 형식

다음은 일반 JSON 형식의 예입니다(다음 코드는 Alibaba Cloud API Gateway에서 제공됨).

{
    "RequestId": "C28F393F-2F69-483F-87B6-C08B9151C693",
    "Code": "Success",
    "Message": "成功",
    "Datas": [
        {
            "Name": "Jack",
            "Age": 28,
            "Address": {
                "Province": "Guangdong",
                "City": "Shenzhen",
                "Street": "Nanshan District"
            }
        },
        {
            "Name": "Lucy",
            "Age": 25,
            "Address": {
                "Province": "Hubei",
                "City": "Wuhan",
                "Street": "Hongshan District"
            }
        }
    ]
}

위 예에서 1행은 요청 ID를 지정하고 다음은 3줄은 각각 반환 상태 코드, 메시지, 데이터 내용입니다. 데이터 콘텐츠에는 두 개의 개체가 포함된 배열이 포함되어 있으며, 각 개체에는 3개의 속성(이름, 나이, 주소가 있고 주소에는 3개의 속성(도, 도시, 거리)이 포함되어 있습니다.) 실제 응용에서는 JSON 형식의 데이터가 더 많은 속성과 복잡한 구조를 가질 수 있지만, 위의 형태가 대표적인 예입니다.

3. JSON 형식 데이터를 배열로 변환하는 방법

PHP에서는 내장 함수 json_decode()를 통해 JSON 형식 데이터를 배열로 변환할 수 있습니다. 구체적인 함수 정의는 다음과 같습니다.

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

그 중 $json은 디코딩할 JSON 형식 문자열입니다. $assoc는 객체 대신 연관 배열을 반환할지 여부를 식별합니다. 디코딩 시 일부 특수 옵션(예: 디코딩 시 "/" 이스케이프가 허용됨 등) 다음은 간단한 예입니다.

<?php
  $json = &#39;{"name":"Jack","age":25,"address":{"province":"Guangdong","city":"Shenzhen","street":"Nanshan District"}}&#39;;
  $array = json_decode($json, true);
  print_r($array);
?>

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Array
(
    [name] => Jack
    [age] => 25
    [address] => Array
        (
            [province] => Guangdong
            [city] => Shenzhen
            [street] => Nanshan District
        )

)

위 예에서는 JSON 형식의 문자열이 먼저 정의됩니다. 그런 다음 json_decode() 함수를 사용하여 문자열을 배열로 디코딩하고 결과를 $array 변수에 할당합니다. 마지막으로 print_r() 함수를 사용하여 $array의 내용을 출력합니다. 출력 결과는 이름, 나이, 주소 등을 포함하는 중첩된 연관 배열임을 확인할 수 있습니다.

json_decode() 함수가 반환하는 결과는 두 번째 매개 변수 $assoc의 값에 따라 달라집니다. $assoc이 false인 경우 함수는 디코딩된 JSON 데이터를 객체(stdClass)로 반환하고, $assoc이 true인 경우 함수는 디코딩된 JSON 데이터를 연관 배열로 반환합니다.

4. 요약

JSON 형식 데이터를 배열로 변환하는 것은 매우 일반적인 작업이며, 내장 함수 json_decode()를 사용하여 PHP에서 구현할 수 있습니다. 이 함수를 사용할 때 디코딩 후 반환되는 결과가 객체인지 배열인지 확인하려면 두 번째 매개 변수 $assoc의 값에 주의해야 합니다. 동시에 JSON 형식의 데이터는 더 복잡할 수 있으므로 속성과 구조를 이해하려면 문서를 주의 깊게 읽어야 합니다. 이 글의 소개를 통해 여러분은 JSON 형식의 데이터를 PHP에서 배열로 변환하는 방법을 이미 이해하셨으리라 믿습니다.

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

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