Home > Article > Backend Development > PHP JSON data processing example program usage_PHP tutorial
The most common way to process JSON data in php is to directly use the json_encode() and json_decode() functions for processing. Next, I will introduce these two json processing functions to students in detail about the various uses of json in applications. Hope it helps everyone.
json_encode() ,PHP data->JSON
json_encode has only one parameter, and the parameter can be any data type except the resource type. But we usually pass in an array, as in the following example
The code is as follows | Copy code | ||||
"name" => "manson", "age" => 23,
"sex" => 1 $json_str = json_encode($arr); var_dump($json_str);
|
代码如下 | 复制代码 |
$arr = array( "name" => "张三", "age" => 23, "sex" => 1 ); $arr['name'] = iconv("gbk","utf-8",$arr['name']); $json_str = json_encode($arr); |
At this time, the converted string is usually output to the front-end for processing, which is often used for data interaction with ajax, or data output from some front-end templates. One issue that needs to be paid attention to with json_encode is the Chinese encoding problem. If the encoding of the PHP page is non-utf-8, before json_encode, the part with Chinese content must be converted into utf-8 encoding, otherwise the output will be garbled when output to the front end. There are many solutions online. Here is a simple code conversion example
代码如下 | 复制代码 |
$json_str = '{"name":"manson","age":23,"sex":1}'; |
The code is as follows | Copy code | ||||
$arr = array(
"name" => "Zhang San", "age" => 23, "sex" => 1
|
The code is as follows | Copy code |
$json_str = '{"name":"manson","age":23,"sex":1}'; $arr = json_decode($json_str,true); var_dump($arr); |
The code is as follows | Copy code |
object(stdClass)#1 (3) { ["name"]=> string(6) "manson" ["age"]=> int(23) ["sex"]=> int(1) } |
Compared with array format, object format will be more difficult to obtain corresponding data. Especially for multi-level data structures, it is better to convert it into array form. That is, remember to pass true for the second parameter of json_decode.
Process the submitted JSON data
POST method (pay attention to GET method too) submitted a JSON data to PHP, such as:
The code is as follows | Copy code | ||||
|
代码如下 | 复制代码 |
$s=$_POST['data'] ;//or $_GET['data'] |
The code is as follows | Copy code |
$s=$_POST['data'] ;//or $_GET['data'] |
代码如下 | 复制代码 |
{"a":1,"b":2} |
The code is as follows | Copy code |
{"a":1,"b":2}
|
代码如下 | 复制代码 |
$obj = json_decode($s); print_r($obj); |
The code is as follows | Copy code | ||||
$obj = json_decode($s); print_r($obj); echo $obj->a;
|
代码如下 | 复制代码 |
$s=stripslashes($_POST['data']) ; |
If $s is defined directly:
The code is as follows | Copy code |
$s='{"a":1,"b":2}';
|
代码如下 | 复制代码 |
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb"); $content = ""; while (!feof($handle)) { $content .= fread($handle, 10000); } fclose($handle); |
The code is as follows | Copy code |
$s=stripslashes($_POST['data']) ; |
The code is as follows | Copy code |
$handle = fopen("/api.php ?action=open_getBlogList&only_recommend=1&limit=5","rb"); $content = ""; while (!feof($handle)) { $content .= fread($handle, 10000); } fclose($handle); |
In this way, content saves the JSON api content.
PHP parses JSON and displays it
The original content cannot be called directly and must be further processed by PHP before it can be called and displayed on the web page. In PHP 5.2 and later versions, use the json_decode() function to parse JSON data and convert it into a data format that PHP can call. For example:
代码如下 | 复制代码 |
$content = json_decode($content); |
After parsing, we can call the data in JSON in the same way as array data in PHP. This calling method needs to be written according to the specific JSON data format. Please see the demonstration below. Regarding the use of the json_decode function, please refer to the PHP manual for details. I will not go into details here: http://php.net/manual/en/function.json-decode.php
Practical API
Careful friends will find that there is a "Friendly Article Recommendation" module at the bottom of the sidebar of the Stalker m blog, which recommends some articles from Qiongtai Blog.
Friend article recommendation is a communication method between blogs initiated by Qiongtai Blog. It is more effective than traditional friend links and at the same time achieves complementary blog content. Since the blog program of Qiongtai Blog was written by himself, he provides a JSON API interface to obtain the latest recommended articles.
I use PHP to obtain this JSON interface, and then output it to the sidebar of my blog. Let’s do it in practice.
The first step is to check the api calling method
According to the documentation, I used parameters like /api.php?action=open_getBlogList&only_recommend=1&limit=5, which means calling five articles recommended by him.
The second step is to obtain the api structure data
It’s very simple. As mentioned above, the specific code is as follows:
The code is as follows
|
Copy code
|
||||
$handle = fopen("/api.php ?action=open_getBlogList&only_recommend=1&limit=5","rb");
$content = "";
|
The third step is to parse and output the content