PHP에서 JSON 파일을 파싱하는 방법

Minahil Noor 2020년6월25일
PHP에서 JSON 파일을 파싱하는 방법

이 기사에서는 PHP에서JSON 파일을 구문 분석하는 방법을 소개합니다.

  • file_get_contents()함수 사용

예제 코드에 사용 된JSON 파일의 내용은 다음과 같습니다.

[
    {
        "id": "01",
        "name": "Olivia Mason",
        "designation": "System Architect"
    },
    {
        "id": "02",
        "name": "Jennifer Laurence",
        "designation": "Senior Programmer"
    },
    {
        "id": "03",
        "name": "Medona Oliver",
        "designation": "Office Manager"
    }
]

PHP에서 JSON 파일을 파싱하기 위해file_get_contents()함수 사용

내장 함수 file_get_contents()는 파일을 읽고 문자열에 저장하는 데 사용됩니다. 이 함수를 사용하면JSON 파일을 문자열로 파싱 할 수 있습니다. 이 기능을 사용하는 올바른 구문은 다음과 같습니다.

file_get_contents($pathOfFile, $searchPath, $customContext, $startingPoint, $length);

이 기능은 5 개의 매개 변수를 허용합니다. 이러한 파라미터의 세부 내용은 다음과 같습니다.

모수 기술
$pathOfFile 필수 파일의 경로를 지정합니다
$searchPath 선택 과목 검색 파일 경로를 지정합니다.
$customContext 선택 과목 사용자 정의 컨텍스트를 지정하는 데 사용됩니다.
$startingPoint 선택 과목 읽기 파일의 시작점을 지정합니다.
$length 선택 과목 읽을 파일의 최대 길이 (바이트)입니다.

다음 프로그램은JSON 파일을 구문 분석하는 방법을 보여줍니다.

<?php
$JsonParser = file_get_contents("myfile.json");
var_dump($JsonParser);
?>

file_get_contents()함수는JSON 파일에 저장된JSON 데이터 만 구문 분석했습니다. 이 데이터를 직접 사용할 수 없습니다.

출력:

string(328) "[
    {
        "id": "01",
        "name": "Olivia Mason",
        "designation": "System Architect"
    },
    {
        "id": "02",
        "name": "Jennifer Laurence",
        "designation": "Senior Programmer"
    },
    {
        "id": "03",
        "name": "Medona Oliver",
        "designation": "Office Manager"
    }
]"

이 데이터를 유용하게 만들기 위해 json_decode()를 사용하여JSON 문자열을 배열로 변환 할 수 있습니다. 아래 프로그램에서이 기능을 사용하십시오.

<?php
$Json = file_get_contents("myfile.json");
// Converts to an array 
$myarray = json_decode($Json, true);
var_dump($myarray); // prints array
?>

출력:

array(3) {
  [0]=>
  array(3) {
    ["id"]=>
    string(2) "01"
    ["name"]=>
    string(12) "Olivia Mason"
    ["designation"]=>
    string(16) "System Architect"
  }
  [1]=>
  array(3) {
    ["id"]=>
    string(2) "02"
    ["name"]=>
    string(17) "Jennifer Laurence"
    ["designation"]=>
    string(17) "Senior Programmer"
  }
  [2]=>
  array(3) {
    ["id"]=>
    string(2) "03"
    ["name"]=>
    string(13) "Medona Oliver"
    ["designation"]=>
    string(14) "Office Manager"
  }
}

관련 문장 - PHP JSON