In this tutorial, you shall learn how to parse a JSON string in PHP using json_decode() function, with syntax and example programs.

PHP – Parse JSON String

To parse a JSON String in PHP, call json_decode() function and pass the JSON string. This function can take other optional parameters also that effect the return value or parsing.

Syntax

The syntax of json_decode() function is

json_decode(string, associative, depth, flags)

where

ParameterDescription
string[Required] JSON string to be parsed or decoded.
associative[Optional] Boolean Value. If true, the returned object will be converted into an associate array. If false (default value), an object is returned.
depth[Optional] Integer. Specifies the depth of recursion. Default value = 512.
flags[Optional] Bitmask: JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR

Generally, the first two parameters are sufficient in most use cases while parsing a JSON string. The other two parameters are used only in some special scenarios.

ADVERTISEMENT

Examples

1. Parse JSON array string into a PHP array

In this example, we will take a JSON string and parse it using json_decode() function with the default optional parameters. We shall display the object returned by json_decode() in the output.

PHP Program

<?php
$jsonStr = '{"apple": 25, "banana": 41, "cherry": 36}';
$output = array(json_decode($jsonStr));
var_dump($output);
?>

Output

PHP - Parse JSON String

2. Access values in decoded JSON object

After decoding into PHP object, we can access the values using keys as shown in the following program.

PHP Program

<?php
$jsonStr = '{"apple": 25, "banana": 41, "cherry": 36}';
$output = json_decode($jsonStr);
echo $output->apple;
echo '<br>';
echo $output->banana;
echo '<br>';
echo $output->cherry;
echo '<br>';
?>

Output

PHP - Parse JSON String

3. Decode JSON string into an array

We can directly decode the JSON string into an associative array by passing true for the second argument. And then we can use indexing technique to access the values for corresponding keys.

PHP Program

<?php
$jsonStr = '{"apple": 25, "banana": 41, "cherry": 36}';
$output = json_decode($jsonStr, true);
echo $output['apple'];
echo '<br>';
echo $output['banana'];
echo '<br>';
echo $output['cherry'];
echo '<br>';
?>

Output

PHP - Parse JSON String

Conclusion

In this PHP Tutorial, we learned how to parse a JSON string, using json_decode() function.