【JSON介绍】什么是JSON?
2017-03-29 11:03
369 查看
相关文章:
【JSON介绍】什么是JSON?【Ajax】Ajax介绍
【Ajax】XMLHttpRequest介绍以及在前端如何实现Ajax
【Struts2】Sturts2如何实现JSON的数据输出,完成Ajax响应
写在前面 : JSON就是一种用于数据交换的格式语言,主要有两个结构,键值对和数组,通过一定的封装可以传输较为复杂的数据格式。
这里还有一份官方文档(中文)可供大家参考
不过我更推荐来自维基百科的JSON介绍
JSON简述
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。JSON与XML比较
JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。这使得XML在程序判读上需要比较多的功夫。主要的原因在于XML的设计理念与JSON不同。XML利用标记语言的特性提供了绝佳的延展性(如XPath),在数据存储,扩展及高级检索方面具备对JSON的优势,而JSON则由于比XML更加小巧,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。JSON建构于两种结构
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
名称/值 :
{key:value}
数组:
[value1,value2,value3]
JSON的语法
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。例如:
{ "code": 200, "msg": "成功" }
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
例如:
[1,2,3,4,5]
但是这种写法有时候单纯的看这个json无法正确的知道这个json的含义,所以一般这样写:
{ "studentNumber": [ 1, 2, 3, 4, 5 ] }
代表这个数组传输的是学生的学号
一般情况下,我们会使用一些固定的格式来封装json,比如下面的这个格式:
{ "code": 200, "msg": "成功", "data": [ { "name": "name1", "email": "email1" }, { "name": "name2", "email": "email2" }, { "name": "name3", "email": "email3" } ] }
可能大家第一眼看着这个JSON过于复杂,是不是在封装的时候需要很多代码才能完成。后面我会单独写一篇使用Google的Gson来完成这个JSON格式的封装。
相关文章推荐
- 最近想学Json,请问大家有没有什么好的Json教程介绍一下?
- *介绍JSON*
- 什么是Perl?编程语言Perl详细介绍
- 详细介绍什么是Java虚拟机
- 介绍 JSON
- 什么是JSON
- 详细介绍什么是Java虚拟机
- 详细介绍什么是实时JAVA
- Dojo book 0.9 介绍 1. Dojo是什么?
- JSON 介绍
- 什么是wiki?WikiWikiWeb 中文介绍
- [SOA介绍]什么是SOA
- 介绍 JSON
- [SOA介绍]什么是SOA?
- 介绍JSON
- JSON-RPC-Java 学习之体系结构介绍
- FLEX是什么及与FLASH的关系的介绍
- 在 DLinq 发布之前用什么查询数据?OQL.NET 介绍 (1)
- Eclipse平台入门之一:什么是Eclipse,我们将开始介绍Java 开发环境(JDE)。
- 好久没有写点什么了~最近好忙啊,给大家介绍一本书吧!