JSon应用

来源:互联网 发布:阿里云 按流量计费 编辑:程序博客网 时间:2024/06/04 01:14

一:JSON概念:

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,而且它是基于JavaScript的。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript 等)。这些特性使JSON成为理想的数据交换语言.

JSON有两种结构:

1.名/值对的集合(A collection of name/value pairs)。在不同的语言中,它被理解为对象,结构,关联数组等;

 

对象是一个无序的/对集合。一个对象以{”开始,}”结束。每个名称后跟一个:”/对之间使用,”分隔:

 

2.值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组:

数组是值(value)的有序集合。一个数组以[”开始,]”结束。值之间使用,”分隔:

 

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

 

二:JSON的基本形式

字符串string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。

value)可以是双引号括起来的字符串(string)、数值(number)truefalsenull、对象(object)或者数组(array)。这些结构可以嵌套

数值number)与C或者Java的数值非常相似。

 

三:示例

下面的JSON表示名称/值对:

{ "firstName": "Brett" }

多个名称/值对串在一起:

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }

从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下JSON

更容易使用,而且可读性更好

当需要表示一组值时,JSON不但能够提高可读性,而且可以减少复杂性:

{ “employees": [

  { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },

  { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }

] }

这比相应的XML格式表示的数据更加简洁:

JSON数据赋值给变量

var company =

{ “employees": [

        { "firstName": "Brett", "lastName":"McLaughlin", "email": brett@newInstance.com" },

        { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },

        { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }

     ]

};

以JavaScript对象的方式访问数据,如获取第一个雇员的firstName信息:

company.employees[0].fristName;

 

四:开发步骤

1:定义json元数据模型

 

2:客户端处理JSON响应

服务器端返回JSON相应的文本表示,如:

{“city” : “Hefei”, “province” : “Anhui”}

客户端使用eval()函数JSON文本转化为JavaScript对象

注意,使用额外的圆括号可使eval()函数将来源输入无条件地视为表达式进行解析。

然后从JavaScript对象中取得相应的值:

 

3:可以结合JAP做服务端构建JSON相应文本。

 

原创粉丝点击