Home Backend Development PHP Tutorial PHP JSON data processing example program usage_PHP tutorial

PHP JSON data processing example program usage_PHP tutorial

Jul 13, 2016 pm 04:57 PM
json php use exist Example data processing usage use program

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
 代码如下 复制代码

$arr = array(
    "name" => "manson",
    "age" => 23,
    "sex" => 1
);
 
$json_str = json_encode($arr);
var_dump($json_str);

$arr = array(

"name" => "manson",

"age" => 23,

"sex" => 1
);

$json_str = json_encode($arr);

var_dump($json_str);

The result is a json string
 代码如下 复制代码
$arr = array(
    "name" => "张三",
    "age" => 23,
    "sex" => 1
);
 
$arr['name'] = iconv("gbk","utf-8",$arr['name']);
 
$json_str = json_encode($arr);

{"name":"manson","age":23,"sex":1}

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}';
 
$arr = json_decode($json_str,true);
var_dump($arr);


The code is as follows Copy code
$arr = array( "name" => "Zhang San",

"age" => 23,

"sex" => 1
 代码如下 复制代码
object(stdClass)#1 (3) {
  ["name"]=>
  string(6) "manson"
  ["age"]=>
  int(23)
  ["sex"]=>
  int(1)
}
); $arr['name'] = iconv("gbk","utf-8",$arr['name']); $json_str = json_encode($arr);
PHP data json_decode has two parameters. The first parameter is the json string to be decoded. The input must be a standard json format. In fact, json_decode is the reverse process of json_encode
The code is as follows Copy code
$json_str = '{"name":"manson","age":23,"sex":1}'; $arr = json_decode($json_str,true); var_dump($arr);
What needs to be noted here is that the second parameter of json_decode is passed true, which means that the array format will be returned after decoding. If false is passed or the second parameter is not passed, the object format will be returned after decoding. For example, the above code returns an object. The format is
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
 代码如下 复制代码

{"a":1,"b":2}

{"a":1,"b":2}

Get this data in PHP:
 代码如下 复制代码

$s=$_POST['data'] ;//or $_GET['data']

The code is as follows Copy code

$s=$_POST['data'] ;//or $_GET['data']

 代码如下 复制代码

 {"a":1,"b":2}

Then this string is escaped after being taken out:

The code is as follows Copy code
{"a":1,"b":2}

If calling directly:
 代码如下 复制代码

$obj = json_decode($s); 

print_r($obj); 
echo $obj->a;

The code is as follows Copy code
$obj = json_decode($s);

print_r($obj);

echo $obj->a;

 代码如下 复制代码

$s='{"a":1,"b":2}';

 代码如下 复制代码

$s=stripslashes($_POST['data']) ;

is wrong and an error will be reported.

If $s is defined directly:

The code is as follows Copy code
$s='{"a":1,"b":2}';


There is no problem.
 代码如下 复制代码
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb");
$content = "";
while (!feof($handle)) {
    $content .= fread($handle, 10000);
}
fclose($handle);
So when processing JSON in PHP, you need to perform some escaping:
The code is as follows Copy code
$s=stripslashes($_POST['data']) ;
Just do the json decoding in this way. PHP Get interface content Assume that the interface file page is: /api.php?action=open_getBlogList&only_recommend=1&limit=5, then we can use the following statement to obtain the content of this interface file:
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
 代码如下 复制代码
$handle = fopen("/api.php?action=open_getBlogList&only_recommend=1&limit=5","rb");
$content = "";
while (!feof($handle)) {
    $content .= fread($handle, 10000);
}
Copy code

$handle = fopen("/api.php ?action=open_getBlogList&only_recommend=1&limit=5","rb");

$content = "";
while (!feof($handle)) {

$content .= fread($handle, 10000);
 代码如下 复制代码

$content = json_decode($content);
foreach ($content->data as $key) {
    echo '

  • '.$key->b_title.'
  • ';
    }

    }

    fclose($handle); First open the data file, and then save all the contents to the content variable. Because you can be sure that the api data will not exceed 10000 characters, use 10000 as the second parameter of the fread function. In this way, the JSON data returned by the api is stored in the content variable.

    The third step is to parse and output the content

    Use the following code to parse the data and then call the output
    Statement of this Website
    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

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Notepad++7.3.1

    Notepad++7.3.1

    Easy-to-use and free code editor

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    Dreamweaver CS6

    Dreamweaver CS6

    Visual web development tools

    SublimeText3 Mac version

    SublimeText3 Mac version

    God-level code editing software (SublimeText3)

    PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

    PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

    How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

    Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

    7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

    If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

    Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

    JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

    How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

    This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

    PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

    A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

    Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

    Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

    What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

    What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

    See all articles