JSON is based on JavaScript Programming Language, a subset of Standard ECMA-262 3rd Edition - December 1999. JSON uses a completely language-independent text format, but also uses conventions similar to the C language family (including C, C++, C#, Java, JavaScript, Perl, Python, etc.). These properties make JSON an ideal data exchange language.
JSON is constructed from two structures:
A collection of name/value pairs. In different languages, it is understood as an object, a record, a struct, a dictionary, a hash table, a keyed list, or an associative array. array).
An ordered list of values. In most languages, it is understood as an array.
PHP’s serialize is to serialize variables and return a string expression with variable type and structure.
Speaking of both, they embody a data structure in the form of a string, so there are What's the difference.
Let’s start with JSON and look at a simple example.
Example 1:
var test = {"Name":"Peter","Age":20}; document.write(test.Name + ": " + test.Age); Display results:
Peter: 20
In the variable test, {"Name":"Peter","Age":20} is an object with 2 elements (it feels like an array in PHP):
Name is Peter and Age is 20.
Of course it can get more complicated.
Example 2:
var test = {"User":{"Name":"Peter","Age":20},"Company":"FORD"}; document.write(test.User.Name + ": " + test.Company); Display results:
Peter: FORD In this example, the User element contains Name and Age.
If you want to reflect multiple Users, you need to use an array. Different from the "{}" of the object, the array uses "[]".
JSON parsing example three:
var test = [ Name":"Li Ming","Age":20},"Company":"Benz"} ]; document.write(test[1].User.Name + ": " + test[1].Company); //Or use: document.write(test[1]["User"]["Name"] + ": " + test[1]["Company"]); JSON parsing display results:
Li Ming: Benz
Through the above simple example, some complex data can be transferred through a string, and it is indeed much more convenient when combined with Ajax.
Let’s take a look at the role of PHP’s serialize function.
JSON parsing example 4:
$arr = array ( ), “Li Ming”=> array ( 'Country'=>'CHINA', 'Age'=>21 ' Peter";a:2:{s:7:"Country";s:3:"USA";s:3:"Age";i:20;}s:7:"Li Ming";a:2: {s:7:"Country";s:5:"CHINA";s:3:"Age";i:21;}} This result looks more complicated than JSON, but it is actually very simple. What it illustrates is Some data types and structures.
Take a:2:{s:7:"Country";s:3:"USA";s:3:"Age";i:20;} as an example:
a:2 shows that there are two Array of elements (array), s:7:"Country";s:3:"USA"; is the first element, s:7 indicates that this is a string of 7 characters, followed by i:20 ; It should also be guessed that it is an integer (integer) 20.
Let’s look at this example again,
Example 5:
class test { var $var = 0; function add(){ echo $var+10; } } $unserialize_var = new test; $serialize_var = serialize($unserialize_var); echo $serialize_var; $unserialize_var = null; $unserialize_var = unserialize($serialize_var); $unserialize_var->add(); Display results:
O:4:"test":1:{s:3:"var";i:0;}
10
From It can be seen from this example that serialize saves both the type and structure of the data. The variables after unserialized can still use the add() method.
Display the result:
Let’s take a look at the usage of json_decode.
Example 8: