Home Web Front-end JS Tutorial JSON study notes

JSON study notes

May 16, 2016 pm 07:03 PM
json study notes

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>
Copy after login

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>
Copy after login


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"} 
]
Copy after login

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>
Copy after login

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"]);
Copy after login

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


Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Combination of golang WebSocket and JSON: realizing data transmission and parsing Combination of golang WebSocket and JSON: realizing data transmission and parsing Dec 17, 2023 pm 03:06 PM

The combination of golangWebSocket and JSON: realizing data transmission and parsing In modern Web development, real-time data transmission is becoming more and more important. WebSocket is a protocol used to achieve two-way communication. Unlike the traditional HTTP request-response model, WebSocket allows the server to actively push data to the client. JSON (JavaScriptObjectNotation) is a lightweight format for data exchange that is concise and easy to read.

How to exclude a field from JSON using @Expose annotation in Java? How to exclude a field from JSON using @Expose annotation in Java? Sep 16, 2023 pm 09:49 PM

The Gson@Expose annotation can be used to mark whether a field is exposed (contained or not) for serialization or deserialization. The @Expose annotation can take two parameters, each parameter is a boolean value and can take the value true or false. In order for GSON to react to the @Expose annotation, we have to create a Gson instance using the GsonBuilder class and need to call the excludeFieldsWithoutExposeAnnotation() method, which configures Gson to exclude all fields without Expose annotation from serialization or deserialization. Syntax publicGsonBuilderexclud

What is the difference between MySQL5.7 and MySQL8.0? What is the difference between MySQL5.7 and MySQL8.0? Feb 19, 2024 am 11:21 AM

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 tips for converting PHP arrays to JSON Performance optimization tips for converting PHP arrays to JSON May 04, 2024 pm 06:15 PM

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.

Use the json.MarshalIndent function in golang to convert the structure into a formatted JSON string Use the json.MarshalIndent function in golang to convert the structure into a formatted JSON string Nov 18, 2023 pm 01:59 PM

Use the json.MarshalIndent function in golang to convert the structure into a formatted JSON string. When writing programs in Golang, we often need to convert the structure into a JSON string. In this process, the json.MarshalIndent function can help us. Implement formatted output. Below we will explain in detail how to use this function and provide specific code examples. First, let's create a structure containing some data. The following is an indication

How to handle XML and JSON data formats in C# development How to handle XML and JSON data formats in C# development Oct 09, 2023 pm 06:15 PM

How to handle XML and JSON data formats in C# development requires specific code examples. In modern software development, XML and JSON are two widely used data formats. XML (Extensible Markup Language) is a markup language used to store and transmit data, while JSON (JavaScript Object Notation) is a lightweight data exchange format. In C# development, we often need to process and operate XML and JSON data. This article will focus on how to use C# to process these two data formats, and attach

How do annotations in the Jackson library control JSON serialization and deserialization? How do annotations in the Jackson library control JSON serialization and deserialization? May 06, 2024 pm 10:09 PM

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

Pandas usage tutorial: Quick start for reading JSON files Pandas usage tutorial: Quick start for reading JSON files Jan 13, 2024 am 10:15 AM

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

See all articles