The content of this article is PHP serialize serialized data and JSON formatted data analysis. if you need it, refer to PHP serialize to serialize variables, return a string expression with variable types and structures, while JSON is a lighter and more friendly format for interface (AJAX, REST, etc.) data exchange. In fact, both of them reflect a data structure in the form of a string. So what is the difference between them?
Serialize serialization
In some old WEB systems, we may see a large string of text content stored in databases or text files that seem to have a special meaning. We will find that it has data type, structure, and other information, but it is not easy to read manually, it is only suitable for PHP programs to read. PHP serialize serializes and stores arrays. Let's assume there is an array like this:
$ Arr = array ("0" => array ("gameName" => "Deb", "homeName" => "Pretoria", "guestName" => "Brunswick ", "endTime" => "2015-08-21"), "1" => array ("gameName" => "premier league", "homeName" => "Crystal Palace ", "guestName" => "Aston Villa", "endTime" => "2015-08-22 "));
We want to store the array content in a database or text file for reading elsewhere.
$serialize = serialize($arr); echo $serialize;
We use PHP serialize to serialize the array and output the following results:
A: 2: {I: 0; a: 4: {s: 8: "gameName"; s: 6: ""; s: 8: "homeName"; s: 15: "Pretoria"; s: 9: "guestName"; s: 12: "Brunswick"; s: 7: "endTime"; s: 10: "2015-08-21 ";} i: 1; a: 4: {s: 8: "gameName"; s: 6: "Premier League"; s: 8: "homeName"; s: 9: "Crystal Palace"; s: 9: "guestName"; s: 15: "Aston Villa"; s: 7: "endTime"; s: 10: "2015-08-22 ";}}
The above output results seem complicated, but they are also very simple. it describes some data types and structures.
A: 2 It indicates that this is an array with two elements (array );
I: 0 indicates a sequence index;
A: 4 indicates four fields.
S: 8: "gameName" indicates that this is a string with 8 characters)
In actual development, we only store serialized data and do not care about the storage format and field meanings. If you want to restore serialized data to an array, use the unserialize () function.
print_r(unserialize($serialize));
The code above can print out an array.
JSON data parsing
We know that json_encode () and json_decode () functions can be used to operate JSON in PHP. Json_encode () can convert an array to text data in json format, which is easy to store and read, while json_decode () can directly convert json data into an array for convenient calling.
$jsonencode = json_encode($arr); echo $jsonencode;
Output:
[{"gameName":"\u5fb7\u4e59","homeName":"\u6bd4\u52d2\u8d39\u5c14\u5fb7","guestName":"\u4e0d\u4f26\u745e\u514b","endTime":"2015-08-21"},{"gameName":"\u82f1\u8d85","homeName":"\u6c34\u6676\u5bab","guestName":"\u963f\u65af\u987f\u7ef4\u62c9","endTime":"2015-08-22"}]
Obviously, after JSON is used, the data space is less than serialize, and the Chinese string in the output result is encoded. it is a key-value correspondence, which is convenient for manual identification, in addition, the key is that data in JSON format is easy to read and recognize in other languages. Therefore, some people say it is a substitute for XML. JSON-format data can complete asynchronous interaction with WEB front-end JS. To restore json to an array, use the json_decode () function.
Print_r (json_decode ($ jsonencode, true ));
If you are interested in JSON applications, refer to this article: JSON applications in PHP.
Summary
PHP serialize makes it easy to store serialized arrays, while JSON-format data is not only easy to store but also can be read from other languages such as javascript. They may have minor differences in performance. if there are many frontend and backend interactions, JSON is recommended. combined with PHP, Javascript, JSON, and Ajax, powerful data interaction functions can be completed.
There is so much detailed analysis on PHP serialize serialized data and JSON formatted data. if you want to know more, continue to pay attention to it.