How to Parse a JSON File in PHP

Minahil Noor Feb 02, 2024
How to Parse a JSON File in PHP

In this article, we will introduce the method to parse a JSON file in PHP.

  • Using file_get_contents() function

The contents of the JSON file used in the example codes are as follows.

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

Use file_get_contents() Function to Parse a JSON File in PHP

The built-in function file_get_contents() is used to read a file and store it into a string. By using this function, we can parse a JSON file to a string. The correct syntax to use this function is as follows.

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

This function accepts five parameters. The detail of these parameters is as follows.

Parameter Description
$pathOfFile mandatory It specifies the path of the file
$searchPath optional It specifies the path to search file.
$customContext optional It is used to specify a custom context.
$startingPoint optional It specifies the starting point of the reading file.
$length optional It is the maximum length of the file in bytes to be read.

The following program shows how to parse a JSON file.

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

The function file_get_contents() have only parsed the JSON data stored in a JSON file. We cannot use this data directly.

Output:

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"
    }
]"

To make this data useful, we can use json_decode() to convert the JSON string to an array. Using this function in the below program.

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

Output:

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"
  }
}

Related Article - PHP JSON