Home  >  Article  >  Web Front-end  >  JSON study notes

JSON study notes

PHP中文网
PHP中文网Original
2016-05-16 19:03:39860browse

JSON is coming

Use the xmlHttpRequest component as an interactive tool and XML as the data transmission format.

[ XML ]
Advantages of using XML as a transmission format:
1. Uniform format, compliant with standards
2. Easy to interact with other systems remotely, data Sharing is more convenient

Disadvantages:
1. The XML file format is huge, the format is complex, and the transmission takes up bandwidth
2. Both the server and the client require a lot of code to Parsing XML, both server-side and client-side code has become extremely complex and difficult to maintain
3. The way of parsing XML between different browsers on the client side is inconsistent, and a lot of code needs to be written repeatedly
4. Server-side and client Parsing XML on the end consumes resources and time

[ JSON ]
So in addition to XML format, are there any other formats? There is a lightweight data called JSON (JavaScript Object Notation) The exchange format can replace the work of XML.

Advantages:
1. The data format is relatively simple, easy to read and write, the formats are compressed, and takes up little bandwidth
2. It is easy to parse this language, Client-side JavaScript can simply read JSON data through eval()
3. Supports multiple languages, including ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby and other language server-side Language to facilitate server-side parsing
4. In the PHP world, PHP-JSON and JSON-PHP have appeared, which facilitates direct calling of PHP serialized programs. PHP server-side objects, arrays, etc. can directly generate JSON format, Convenient for client access and extraction.
In addition, PHP’s PEAR class has proposed support (http://www.php.cn/)
5. Because the JSON format can be directly used by server-side code, it greatly simplifies the server The amount of code development on the terminal and client is small, but the completed tasks remain the same and are easy to maintain

Disadvantages:
1. It is not as popular and widely used as XML format, and it is not as versatile as XML
2. The promotion of JSON format in Web Services is still in its infancy

PS: It is said that Google’s Ajax is made using JSON templates

JSON definition
JSON (JavaScript Object Notation) It is a lightweight data exchange format that is easy to read and write, as well as easy for machines to parse and generate. It is based on a subset of the JavaScript programming language from the ECMA262 Language Specification (3rd Edition 1999-12). JSON adopts a text format that is independent of programming languages, but also uses the habits of C-like languages ​​​​(including C, C++, C#, Java, JavaScript, Perl, Python, etc.). These characteristics make JSON an ideal data exchange format.
The structure of JSON is based on the following two points

1. A collection of "name/value" pairs. In different languages, it is understood as an object, a record, a structure, and a dictionary. (dictionary), hash table (hash table), keyed list (keyed list), etc.
2. An ordered list of values ​​is understood as an array (array) in most languages ​​​​
JSON usage:
JSON starts with A specific string form to represent JavaScript objects. If you assign a string with such a form to any JavaScript variable, then the variable will become an object reference, and this object is constructed from the string. It seems a bit confusing, so we will use an example to illustrate.
Here we assume that we need to create a User object with the following attributes
User ID
Username
User Email
You can use the following JSON form to represent the User object:
JavaScript code
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
Then if you assign this string to a JavaScript variable, you can directly Use any property of the object.
Complete code:
JavaScript code

<script> 
var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"}; 
alert(User.Name); 
</script>

It may be more complicated in actual use. For example, we define a more detailed structure for Name so that it has FirstName and LastName:
JavaScript code
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}
Full code:
JavaScript code

<script> 
var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}; 
alert(User.Name.FirstName); 
</script>


Now we add a new requirement. One of our pages needs a user list, not just a single user information, so we need to create a User list array.
The following code demonstrates the use of JSON to define this user list:
JavaScript code

[ 
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}, 
{"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"}, 
{"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"} 
]

Full code:
JavaScript code

<script> 
var UserList = [ 
{&quot;UserID&quot;:11, &quot;Name&quot;:{&quot;FirstName&quot;:&quot;Truly&quot;,&quot;LastName&quot;:&quot;Zhu&quot;}, &quot;Email&quot;:&quot;zhuleipro◎hotmail.com&quot;}, 
{&quot;UserID&quot;:12, &quot;Name&quot;:{&quot;FirstName&quot;:&quot;Jeffrey&quot;,&quot;LastName&quot;:&quot;Richter&quot;}, &quot;Email&quot;:&quot;xxx◎xxx.com&quot;}, 
{&quot;UserID&quot;:13, &quot;Name&quot;:{&quot;FirstName&quot;:&quot;Scott&quot;,&quot;LastName&quot;:&quot;Gu&quot;}, &quot;Email&quot;:&quot;xxx2◎xxx2.com&quot;} 
]; 
alert(UserList[0].Name.FirstName); 
</script>

In fact, in addition to using In addition to "." quoting attributes, we can also use the following statements:
JavaScript code

Copy code The code is as follows:

alert(UserList[0]["Name"]["FirstName"]); 或者 alert(UserList[0].Name["FirstName"]);

现在读者应该对JSON的使用有点认识了,归纳为以下几点:
对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。
数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
字符串和数字的定义和C或Java基本一致。
小节:
本文通过一个实例演示,初步了解了JSON 的强大用途。可以归结如下:
JSON 提供了一种优秀的面向对象的方法,以便将元数据缓存到客户机上。
JSON 帮助分离了验证数据和逻辑。
JSON 帮助为 Web 应用程序提供了 Ajax 的本质。


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