Home >Backend Development >PHP Tutorial >JSON manipulation guide in PHP

JSON manipulation guide in PHP

PHPz
PHPzOriginal
2023-05-20 15:03:063253browse

1. Basic knowledge of JSON

1.1 What is JSON

JSON (JavaScript Object Notation) is a lightweight data exchange format. It is a text-based format that can be parsed and generated by a variety of programming languages. JSON data can be used in JavaScript or transmitted and stored server-side.

1.2 Advantages of JSON

Compared with XML, JSON has the following advantages:

  • The file size is small.
  • Highly readable.
  • The parsing speed is fast.
  • Easy to handle.

1.3 JSON data format

The JSON data format is a set of key-value pairs, separated by commas. Key-value pairs consist of "key" and "value", separated by colons. The JSON data format can be nested and arrays can be used.

{

"name": "Jack",
"age": 22,
"gender": "male",
"hobby": ["reading", "running", "traveling"],
"address": {
    "city": "Shanghai",
    "street": "Nanjing Road"
}

}

2. JSON function in PHP

JSON operations need to be processed using a programming language. PHP, as a popular The server-side language provides a series of JSON functions for developers to process.

2.1 JSON encoding

You can use the json_encode() function in PHP to convert PHP variables into JSON format data.

// Assume there is an array
$arr ​​= array(

"name" => "Jack",
"age" => 22

);

// Use the json_encode() function to encode
$jsonStr = json_encode($arr);

// Output a string in JSON format
echo $jsonStr;

The result is: {"name":"Jack","age":22 }

2.2 JSON decoding

You can use the json_decode() function in PHP to convert JSON format data into PHP variables. The decoded data type can be an array or object type.

// Assume there is a JSON string
$jsonStr = '{"name":"Jack","age":22}';

// Use json_decode() Function to decode
$arr ​​= json_decode($jsonStr, true);

//Output data in array form
var_dump($arr);

The output result is:

array(2) {
["name"]=>
string(4) "Jack"
["age"]=>
int(22)
}

2.3 Configure JSON encoding and decoding options

When using the json_encode() and json_decode() functions, you can specify specific options. For example, you can set options such as JSON data indentation and encoding.

// Set JSON indentation to 4 spaces
$jsonStr = json_encode($arr, JSON_PRETTY_PRINT);

// Set encoding method to UTF-8
$jsonStr = json_encode($arr, JSON_UNESCAPED_UNICODE);

3. JSON application in PHP

3.1 Data interaction between server and client

Use JSON data format for server-side and client-side data interaction Client-side data interaction can improve data transmission efficiency and reduce data transmission volume. The server can use the json_encode() function to encode the data into JSON format, and the client can use JavaScript to parse and use it.

// Server-side code example
$arr ​​= array("name" => "Jack", "age" => 22);
$jsonStr = json_encode($arr) ;
echo $jsonStr;

// Client code example
$.ajax({

url: 'example.php',
dataType: 'json',
success: function(data) {
    console.log(data.name);
    console.log(data.age);
}

});

3.2 Data storage

Data in JSON format can be stored in a file or database for subsequent access or processing. When reading data, you can use the json_decode() function to decode JSON data into PHP variables.

// Store JSON data in a file
$jsonStr = '{"name":"Jack","age":22}';
$file = fopen('data. json', 'w');
fwrite($file, $jsonStr);
fclose($file);

// Read JSON data
$jsonStr = file_get_contents(' data.json');
$arr ​​= json_decode($jsonStr, true);

4. Conclusion

This article introduces the basic knowledge of JSON and how to use JSON in PHP Functions for encoding, decoding and application. The JSON data format is widely used in web applications and mobile applications. For PHP developers, mastering the operation of JSON is a very important skill.

The above is the detailed content of JSON manipulation guide in 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