How do I parse JSON string in PHP?

PHP has two built-in functions json_encode() and json_decode() to encode PHP objects into JSON string and decode JSON strings into PHP objects. To parse a JSON string, you can use the json_decode() function. This function recursively converts the passed JSON string into the corresponding PHP objects. You can control the parsing flow by passing a set of bitmasks to the JSON decoder function. If the JSON cannot be parsed, or the nested JSON data has a depth greater than the recursion limit, it returns NULL. The PHP JSON parser only works with UTF-8 encoded strings. In this PHP JSON Parse example, we use the json_decode() function to decode JSON strings into PHP objects. Click Execute to run the PHP Parse JSON Example online and see the result.
How do I parse JSON string in PHP? Execute
<?php
$json = '["Orange", "Apple", "Lemon"]';

print_r (json_decode($json));
?>
Updated: Viewed: 1157 times

What is JSON?

JavaScript Object Notation (JSON) is a standard text format for storing and transmitting data over a network. JSON comes from JavaScript and has a syntax similar to JavaScript but can be used separately from it. JSON is used for client/server communication in mobile and web applications written in many programming languages, including JavaScript, Python, Java, C++, C#, Go, PHP, and many others.

How to decode JSON data in PHP?

To decode JSON string in PHP, you can use the json_decode() function to convert the JSON string to the appropriate PHP data type. The example below shows how to parse or decode a JSON string to a PHP object:

PHP Decode JSON Example
<?php
$json = '{"Leo":25,"Alice":37,"Tim":43}';

print_r (json_decode($json));
?>

#output: stdClass Object
(
    [Leo] => 25
    [Alice] => 37
    [Tim] => 43
)

How to encode a PHP object to JSON string?

To encode PHP objects into JSON strings, you can use the json_encode() function. A PHP object can be of any PHP data type, except for a resource such as a database or a file descriptor. The example below shows how to encode a PHP associative array into a JSON string:

PHP Encode JSON Example
<?php
$json = array(
  'Leo' => 35,
  'Alice' => 37, 
  'Dora' => 43
);

echo json_encode($json);
?>

#output: {"Leo":35,"Alice":37,"Dora":43}

See also