Home >Backend Development >PHP Problem >How to convert JSON data into an object array using PHP

How to convert JSON data into an object array using PHP

PHPz
PHPzOriginal
2023-04-23 10:14:53579browse

In Web development, JSON (JavaScript Object Notation) has become a common data exchange format. It is a lightweight data exchange format that is easy to read and write. However, in PHP, it is often necessary to convert JSON data into objects or arrays to facilitate data processing. This article will introduce how to use PHP to convert JSON data into an object array.

1. Introduction to JSON

JSON is a lightweight data exchange format. Its data structure is very similar to JavaScript objects and arrays. It consists of two structures: key-value pairs and arrays. Key-value pairs are separated by colons, arrays use square brackets to contain elements, and each key-value pair or array element is separated by commas. The following is an example of JSON:

{
    "name": "张三",
    "age": 25,
    "hobby": ["reading", "traveling", "music"],
    "address": {
        "province": "广东",
        "city": "深圳",
        "street": "科技园南区"
    }
}

2. Convert JSON to PHP object

In PHP, you can use the json_decode() function to convert a JSON string into PHP object. json_decode()The function accepts three parameters: JSON string, whether to convert it to an array (default is false), and depth (default is 512). The following is an example of converting a JSON string into a PHP object:

$jsonStr = '{"name":"张三","age":25,"hobby":["reading","traveling","music"],"address":{"province":"广东","city":"深圳","street":"科技园南区"}}';
$obj = json_decode($jsonStr);
var_dump($obj);

Output result:

object(stdClass)#1 (4) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(25)
  ["hobby"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(10) "traveling"
    [2]=>
    string(5) "music"
  }
  ["address"]=>
  object(stdClass)#2 (3) {
    ["province"]=>
    string(6) "广东"
    ["city"]=>
    string(6) "深圳"
    ["street"]=>
    string(15) "科技园南区"
  }
}

As you can see, the json_decode() function converts a JSON string Became a stdClass object. The data in JSON can be obtained through the attribute reference of the object. For example:

echo $obj->name;      //输出:张三
echo $obj->age;       //输出:25
echo $obj->hobby[0];  //输出:reading
echo $obj->address->province;  //输出:广东

3. Convert JSON to PHP array

In addition to converting JSON strings into PHP objects, you can also use the json_decode() function to convert JSON strings into a PHP array. Just set the second parameter of the json_decode() function to true. The following is an example:

$jsonStr = '{"name":"张三","age":25,"hobby":["reading","traveling","music"],"address":{"province":"广东","city":"深圳","street":"科技园南区"}}';
$arr = json_decode($jsonStr, true);
var_dump($arr);

Output result:

array(4) {
  ["name"]=>
  string(6) "张三"
  ["age"]=>
  int(25)
  ["hobby"]=>
  array(3) {
    [0]=>
    string(7) "reading"
    [1]=>
    string(10) "traveling"
    [2]=>
    string(5) "music"
  }
  ["address"]=>
  array(3) {
    ["province"]=>
    string(6) "广东"
    ["city"]=>
    string(6) "深圳"
    ["street"]=>
    string(15) "科技园南区"
  }
}

You can see that after setting the second parameter of the json_decode() function to true, the JSON characters The string is converted into a PHP array. Through the array subscript, you can get the data in JSON. For example:

echo $arr['name'];            //输出:张三
echo $arr['hobby'][0];        //输出:reading
echo $arr['address']['city']; //输出:深圳

4. Summary

In Web development, JSON is a common data exchange format. In PHP, use the json_decode() function to easily convert a JSON string into a PHP object or array to facilitate data processing. This article introduces how to convert JSON data into an array of PHP objects. I hope it can be helpful to PHP developers.

The above is the detailed content of How to convert JSON data into an object array using PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn