JSON

1.JSON是什么:JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2.JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

3.JSON的语法:(1)对象是包含在括号({ }),它们的名称-值对的分离逗号(,)以及一对中的名称和值用冒号分隔(:)。的名字在一个对象中是字符串,而值可能是7个值类型中的任意一个,包括另一个对象或数组。

                           (2)数组是包含在方括号([]),和它们的值是由一个逗号分开(,)。数组中的每个值都可能是另一种类型,包括另一个数组、一个对象。当对象和数组包含其他对象或数组时,数据具有树状结构。

4.JSON的使用:JSON通常被用作序列化和反序列化数据的通用格式。在因特网上相互通信的应用程序,这些应用程序是使用不同的编程语言创建的,并且运行的方式非常不同。JSON适合这个场景,因为它是一个开放的标准,很简单。读和写,它比其他表示更紧凑。rest式web服务广泛地使用JSON作为请求内部数据的格式和响应。用于表示请求或请求的内容的HTTP头。响应是JSON数据。内容类型:application / json。JSON表示通常比XML表示更紧凑,因为JSON没有结束标记。与XML不同,JSON没有被广泛接受用于定义和验证JSON数据结构的模式。

5.生成和解析JSON数据:有两种编程模型,它们与用于XML文档的编程模型相似。

(1)对象模型创建一个表示内存中JSON数据的树。然后可以导航,分析或修改树。这种方法是最灵活的,并且允许需要访问树的完整内容的处理。但是,它通常比流模式慢,需要更多内存。对象模型通过一次导航整个树来生成JSON输出。

(2)流式传输模型使用基于事件的解析器,该解析器一次读取一个元素的JSON数据。解析器生成事件并在对象或数组开始或结束时,当它找到一个键或找到一个值时停止处理。每个元素都可以被应用程序代码处理或丢弃,然后解析器继续进行下一个事件。这种方法适用于本地处理,其中处理元素不需要来自其余数据的信息。流式传输模型通过一次对一个元素进行函数调用来生成给定流的JSON输出。

6.J2EE中使用json数据流程:(1)jsp传值至action(2)action中处理jsp传来的值,一番处理之后,处理成json格式的值(3)传回jsp。jsp中可以通过拿到的处理后的数据。通过键值对的形式拿到值。

原文地址:https://www.cnblogs.com/gai-blog/p/9001508.html