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)、true、false、null、对象(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相应文本。
- json 应用
- JSON应用
- JSon应用
- Json应用
- JSON 应用
- JSON 应用
- JSON 应用
- Json应用
- json+xml+xsl应用
- json 字符串 简单应用
- json的应用
- JSON应用 java&js
- JSON应用实例
- JSON 简介和应用
- JSON一些简单应用
- PHP中JSON应用
- java JSON的应用
- json的应用
- TS解码框架
- php中获得数据库和关闭数据库
- eof造成死循环
- android UI进阶之实现listview中checkbox的多选与记录
- ifstream& operator>>函数无法获取空行和peek函数的用法
- JSon应用
- 打开两个unity3d工程
- 删数问题
- 优化随系统启动程序,实现其运行更趋于快速和稳定
- 浅析JAVA语言中yield()、join()、sleep()、wait()的不同用法
- C++中的几种cast
- Eclipse 4.2 安装Java反编译插件
- Java JDBC批处理插入数据操作
- java多线程 sleep()和wait()的区别