Home  >  Article  >  Backend Development  >  How to convert php json to array

How to convert php json to array

PHPz
PHPzOriginal
2023-04-25 09:02:04485browse

With the development of the Internet and the advancement of technology, separation of front-end and back-end has become a common architectural approach. The advantage of this architecture is that the front-end and back-end can be developed separately, making development more efficient; the front-end can implement pages more flexibly and improve user experience; and the back-end can focus more on data processing and business logic. But in the development process of separating front-end and back-end, the issue of front-end and back-end data transfer becomes more important. Usually we choose to use JSON format for data transmission, and on the server side, we need to convert JSON strings into arrays. PHP provides many functions to achieve this function.

  1. json_decode()

json_decode() is one of PHP’s built-in functions, which can convert JSON format strings into PHP arrays or object. This function accepts two parameters: the first is the JSON string to be decoded, and the second parameter is an optional parameter of type boolean that specifies whether the return value should be converted to an associative array. When the second parameter is false (the default value), the json_decode() function will return an object, and when the second parameter is true, the function will return an associative array.

Code example:

$json_str = '{"name": "Tom", "age": 18}';
// 将 JSON 字符串解码成对象
$obj = json_decode($json_str);
echo $obj->name;  // 输出 "Tom"
echo $obj->age;   // 输出 "18"

// 将 JSON 字符串解码成关联数组
$arr = json_decode($json_str, true);
echo $arr['name'];  // 输出 "Tom"
echo $arr['age'];   // 输出 "18"
  1. json_decode() file_get_contents()

If the JSON data is read from a file, we can also use PHP The built-in file_get_contents() function reads the file contents, and then uses the json_decode() function to convert the JSON data into an array. Code example:

$json_file = 'test.json';
// 读取文件内容
$json_str = file_get_contents($json_file);
$arr = json_decode($json_str, true);
  1. json_decode() cURL

If the JSON data is obtained through the API, we can use PHP's built-in cURL library to obtain the data and use The json_decode() function converts JSON data into an array. Code example:

$url = 'https://api.example.com/get_data';
// 初始化 cURL
$ch = curl_init();
// 设置 URL 和其他 cURL 选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 发送请求并处理响应
$response = curl_exec($ch);
$arr = json_decode($response, true);
// 关闭 cURL
curl_close($ch);
  1. Using third-party libraries

In addition to PHP’s built-in json_decode() function, we can also use third-party libraries to implement Function to convert JSON data into array. Common third-party libraries are:

  • symfony/yaml: The Symfony YAML component provides conversion functions between YAML and JSON. While its main purpose is to provide configuration options for YAML files, it can actually convert JSON to an array as well.
  • seld/jsonlint: seld/jsonlint is a JSON parser that can convert JSON to an array and perform syntax checking.

Here we take symfony/yaml as an example to introduce how to use third-party components to convert JSON data into an array. First, you need to install the relevant components through Composer:

composer require symfony/yaml

Then use the Symfony\Component\Yaml\Yaml::parse() method in the code to convert JSON data into an array:

use Symfony\Component\Yaml\Yaml;

$json_str = '{"name": "Tom", "age": 18}';

// 将 JSON 字符串转换成数组
$arr = Yaml::parse($json_str);
echo $arr['name'];  // 输出 "Tom"
echo $arr['age'];   // 输出 "18"

Summary

The above are several methods of converting JSON data into arrays, among which json_decode() is the most commonly used. In addition, we can also use third-party components for conversion. The specific method to use can be chosen according to the actual situation and needs. No matter which method is used, we should pay attention to whether the format of the JSON data is correct and handle it accordingly when exceptions occur.

The above is the detailed content of How to convert php json to array. 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