How to use JSON in PHP language and restore json to an array
This article mainly introduces the method of using JSON in PHP language and reducing json into an array. It has a certain reference value. Now I share it with you. Friends in need can refer to it.
In I have written a simple example of returning JSON data in PHP before. I just went online and suddenly found an article that also introduced JSON. It was quite detailed and worth referring to. The content is as follows
Starting from version 5.2, PHP natively provides json_encode() and json_decode() functions, the former is used for encoding, and the latter is used for decoding.
1.json_encode()
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
Output
{"a":1,"b":2,"c":3,"d":4,"e":5}
Look at another example of object conversion:
$obj->body = 'another post'; $obj->id = 21; $obj->approved = true; $obj->favorite_count = 1; $obj->status = NULL; echo json_encode($obj);
Output
{ "body":"another post", "id":21, "approved":true, "favorite_count":1, "status":null }
Since json only accepts utf-8 encoded characters, the parameters of json_encode() must be utf-8 encoded, otherwise you will get empty characters or null. When Chinese uses GB2312 encoding, or foreign languages use ISO-8859-1 encoding, special attention should be paid to this point.
2. Indexed arrays and associative arrays
PHP supports two types of arrays, one is an indexed array that only stores "value" (value), The other is an associative array that stores name/value pairs.
Since JavaScript does not support associative arrays, json_encode() only converts indexed arrays to array format, and converts associative arrays to object format.
For example, there is now an index array
$arr = Array('one', 'two', 'three'); echo json_encode($arr);
Output
["one","two","three"]
If you change it to an associative array:
$arr = Array('1'=>'one', '2'=>'two', '3'=>'three'); echo json_encode($arr);
The output becomes
{"1":"one","2":"two","3":"three"}
Note that the data format has changed from "[]" (array) to "{}" (object).
If you need to force "index array" into "object", you can write like this
json_encode( (object)$arr );
or
json_encode ( $arr, JSON_FORCE_OBJECT );
3. Class conversion
The following is a PHP class:
class Foo { const ERROR_CODE = '404'; public $public_ex = 'this is public'; private $private_ex = 'this is private!'; protected $protected_ex = 'this should be protected'; public function getErrorCode() { return self::ERROR_CODE; } }
Now, perform json conversion on the instance of this class:
$foo = new Foo; $foo_json = json_encode($foo); echo $foo_json;
The output result is
{"public_ex":"this is public"}
You can see that except for public variables (public), other things (constants, private variables, methods, etc.) are missing.
4. json_decode()
This function is used to convert json text into the corresponding PHP data structure. Here is an example:
$json = '{"foo": 12345}'; $obj = json_decode($json); print $obj->{'foo'}; // 12345
Normally, json_decode() always returns a PHP object, not an array. For example:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json));
The result is to generate a PHP object:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
If you want To force the generation of a PHP associative array, json_decode() needs to add a parameter true:
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json,true));
The result is an associative array:
array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
##5. Common errors of json_decode()
The following three json writing methods are all wrong. Can you see where the error is?$bad_json = "{ 'bar': 'baz' }"; $bad_json = '{ bar: "baz" }'; $bad_json = '{ "bar": "baz", }';
var_dump(json_decode("Hello World")); //null
php How to read, write and modify json files
The above is the detailed content of How to use JSON in PHP language and restore json to an array. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

MySQL5.7 and MySQL8.0 are two different MySQL database versions. There are some main differences between them: Performance improvements: MySQL8.0 has some performance improvements compared to MySQL5.7. These include better query optimizers, more efficient query execution plan generation, better indexing algorithms and parallel queries, etc. These improvements can improve query performance and overall system performance. JSON support: MySQL 8.0 introduces native support for JSON data type, including storage, query and indexing of JSON data. This makes processing and manipulating JSON data in MySQL more convenient and efficient. Transaction features: MySQL8.0 introduces some new transaction features, such as atomic

Performance optimization methods for converting PHP arrays to JSON include: using JSON extensions and the json_encode() function; adding the JSON_UNESCAPED_UNICODE option to avoid character escaping; using buffers to improve loop encoding performance; caching JSON encoding results; and considering using a third-party JSON encoding library.

Quick Start: Pandas method of reading JSON files, specific code examples are required Introduction: In the field of data analysis and data science, Pandas is one of the important Python libraries. It provides rich functions and flexible data structures, and can easily process and analyze various data. In practical applications, we often encounter situations where we need to read JSON files. This article will introduce how to use Pandas to read JSON files, and attach specific code examples. 1. Installation of Pandas

Annotations in the Jackson library control JSON serialization and deserialization: Serialization: @JsonIgnore: Ignore the property @JsonProperty: Specify the name @JsonGetter: Use the get method @JsonSetter: Use the set method Deserialization: @JsonIgnoreProperties: Ignore the property @ JsonProperty: Specify name @JsonCreator: Use constructor @JsonDeserialize: Custom logic

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

In-depth understanding of PHP: Implementation method of converting JSONUnicode to Chinese During development, we often encounter situations where we need to process JSON data, and Unicode encoding in JSON will cause us some problems in some scenarios, especially when Unicode needs to be converted When encoding is converted to Chinese characters. In PHP, there are some methods that can help us achieve this conversion process. A common method will be introduced below and specific code examples will be provided. First, let us first understand the Un in JSON

Introduction to the method of obtaining HTTP status code in JavaScript: In front-end development, we often need to deal with the interaction with the back-end interface, and HTTP status code is a very important part of it. Understanding and obtaining HTTP status codes helps us better handle the data returned by the interface. This article will introduce how to use JavaScript to obtain HTTP status codes and provide specific code examples. 1. What is HTTP status code? HTTP status code means that when the browser initiates a request to the server, the service

PHP arrays can be converted to JSON strings through the json_encode() function (for example: $json=json_encode($array);), and conversely, the json_decode() function can be used to convert from JSON to arrays ($array=json_decode($json);) . Other tips include avoiding deep conversions, specifying custom options, and using third-party libraries.
