Convert JSON String to Array Object in PHP

Sovary June 17, 2022 817
2 minutes read

We are going to learn how to convert JSON in form of string to Array Object in PHP.  An article convert PHP Array to JSON string is the opposite form which mean we can convert back and forth in different usage purpose. For today I will explain and give simple examples in order to understand how to convert JSON string to object array in PHP.

json_decode() - is built-in function to decode json string to PHP object.

Also read How to Use json_encode() in PHP

Syntax

json_decode(string $json,bool $assoc = false,int $depth = 512,int $flag = 0): mixed

Return Value: if JSON cannot be decoded, NULL is returned. Return as Object or Array if encoded succeed.

Parameters

Parameter Type Description
$json String (Required) Value to be decode
$assoc Boolean (Optional) False will return as object, True will return as associative array
$depth Integer (Optional) Maximum recursion depth being decoded
$flag Constant Integer (Optional) Specifies a bitmask (JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR)

Examples

Below examples will show the commonly use of json_decode() method.

Example #1 - Convert Array Form in String to Real Array

<?php
  // string form in array
  $jobs = '["doctor","programmer","nurse","accountant","cashier"]';
  
  //convert to real array php
  $decode = json_decode($jobs);
  
  //access value as array
  echo $decode[0];
  
?>

Ouput #1

doctor

Example #2 - Convert JSON String to Object PHP

<?php

  // String form in JSON object
  $person = '{"name":"Sovary","job":"Developer","A-Z":"D"}';
  
  // Convert to PHP Object
  $decode = json_decode($person);

  // show information in variable
  print_r($decode);

  // Access value by property 
  echo "My name is ".$decode->name." I am a ".$decode->job."\n";
  echo "Access invalid property name=> ".$decode->{'A-Z'}

?>

Ouput #2

stdClass Object
(
    [name] => Sovary
    [job] => Developer
    [A-Z] => D
)
My name is Sovary I am a Developer
Access invalid property name=> D

Example #3 - Convert Array JSON String to Associative Array PHP

<?php

  // String form in JSON Array
  $person = '[{"name":"Sovary","job":"Developer"},{"name":"Lin","job":"Accountant"}]';
  
  // Convert to real multi dimension associative array
  $decode = json_decode($person,true);
  
  // Print info variable
  print_r($decode);
  
  // Access associative array 
  echo "My name is ".$decode[0]["name"]." I am a ".$decode[0]["job"];

?>

Ouput #3

Array
(
    [0] => Array
        (
            [name] => Sovary
            [job] => Developer
        )

    [1] => Array
        (
            [name] => Lin
            [job] => Accountant
        )

)
My name is Sovary I am a Developer

Thank you for read the article hope it would help your project. Have a nice day! 

 

PHP 
Author

As the founder and passionate educator behind this platform, I’m dedicated to sharing practical knowledge in programming to help you grow. Whether you’re a beginner exploring Machine Learning, PHP, Laravel, Python, Java, or Android Development, you’ll find tutorials here that are simple, accessible, and easy to understand. My mission is to make learning enjoyable and effective for everyone. Dive in, start learning, and don’t forget to follow along for more tips and insights!. Follow him