- 浏览: 7340703 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
对于B/S结构的企业应用来说,Web前台编程占了70%以上的工作量,根本原因就是在于程序员受限于浏览器。我们知道,浏览器接受到的后台服务器传过来的数据能够呈现给程序员、并可以由程序员来操纵的从应用的层面上讲只有文本(当然浏览器也可以接受非文本的数据,浏览器会以自己的方式处理,我们就无能为力了),所以对于前台程序员来说,要做的就是把这些文本转换为用户可读的页面。
于是,我们就一直在做把数据和HTML标签拼接然后输出的工作。
后来我们使用某些复用技术,如JSP的自定义标签(这也有两个层次,
一是对流程控制、获取数据等基本操作的封装,如JSTL等;
二是对页面构件的封装,例如把List封装成Table输出等),我还是比较欣赏使用JSP标签方式的。
当然,随着Web2.0概念的提出,又出现了新的方式,那就是在前台(浏览器)里使用脚本(多数为JavaScript)来动态的渲染(render)页面。于是为了前台构件复用,我们需要的不仅仅是数据,可能还需要数据的结构、展现方式、动态效果等信息,也就是说我们需要一种方式把数据以及数据展现的相关信息以文本的方式传到前台来。其实感觉上好像回到了最原始的状态,因为这和我们直接把组织好的HTML输出到浏览器是一个理念。但是,基于对用户界面体验的考虑,也从技术流行的角度上(我认为很大程度上是大家对AJAX技术的迷信),我们不能再走老路。
现在就需要我们选择了,我们需要选择一种文本结构把数据以及数据展现的相关信息传到前台来,
首选的是XML(我觉着XML是软件技术的一次重大革新),好像没有比它更合适的了,配合XPATH、XSL等技术JS对XML的解析、操纵可以称得上简便易用,唯一差强人意的是性能略差(性能还可接受,但是确实有待提高)。
JSON不知道从什么时候起,也成为了前后台数据交互的一种数据格式,它的优点就是简单,从后台传过来文本如果格式正确,只要简单的调用一下JS的eval方法就可以把一个字符串转换成JS对象。这个JavaScript旧瓶好像是被装上了新酒,于是焕发出了惊人的活力,看看现在网络上流行的JS前台框架,ext、dojo、yui等等都或多或少或直接或间接的把JSON对象作为数据格式应用在自己的API、页面构件中。有了前台脚本的支持,我们所需要的就是后台对JSON格式的组织、操纵等行为的支持,于是就有了以各种语言(C#、Java、Perl等等,去http://www.json.org看吧)实现的类库,json-lib就是用Java语言实现的这样一套类库。我以前也使用过这个类库的几个基本的简单功能,现在这个开源项目的版本已经升级到2.3(我现在研究的是2.1),所以我觉着很有必要接触一下它的很多相对高级的功能。
运行所需要的类库:
commons-beanutils-1.7.0.jar
commons-collections-3.2.jar
commons-lang-2.3.jar
commons-logging-1.1.jar
ezmorph-1.0.3.jar
json-lib-2.1.jar
这是我本机上的运行环境,我用的json-lib是2.1版本,其实官方网站上有明确的说明。
JSON对象格式的定义,我们就很容易的通过服务器端程序动态输出JSON字符串到客户端。
先看看下面的例子:
与之对应的XML格式: 通过上面,我们不难看出:
{items:[
{
id:1,
author:\"Achely\",
url:\"http://www.zhangyongjun.com\",
content:\"Welcome to Achely blog\"
},
{
id:2,
author:\"Achely2\",
url:\"http://www.zhangyongjun.com\",
content:\"Welcome to Achely blog\"
}
]};
<items>
<item>
<id>1</id>
<author>Achely</author>
<url>http://www.zhangyongjun.com</url>
<content>Welcome to Achely blog</content>
</item>
<item>
<id>2</id>
<author>Relkn</author>
<url>http://www.zhangyongjun.com</url>
<content>Welcome to Achely blog</content>
</item>
</items>
1、对象:
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}
{ 属性 : 值 , 属性 : 值 , 属性 : 值 }
2、数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
[
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}, {name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"},
{name:"achely",email:"achely@gmail.com",homepage:"http://www.zhangyongjun.com"}
]
3、值可以是字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
那么,在客户端的JS中如何访问JSON对象呢?
js中这样的定义:
var obj='{name:"achely",email:"achely@gmail.com",homepage:"http://www.topmanopensource.iteye.com"} ';
属性访问:obj.name
数组访问:obj.array[i]
发表评论
-
【转】Django resources
2014-01-23 14:35 10828Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197845pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 257541> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9222在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2840安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3649在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1675在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2241在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1606在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1748在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1101http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3356TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51592文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14204最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8697TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2717TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2815TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2458TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2789TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2704TestNG官方网站: http://testng.or ...
相关推荐
根据给出的信息,有关JSON的应用手册主要针对在桌面、服务器、网页以及移动应用中应用JSON。该手册包含了80多个配方,这些配方旨在帮助开发者充分利用JSON在各自的应用中。 该手册由Packt Publishing出版,Ray ...
这个"JSON开发完整资源包"显然是为了帮助开发者更有效地进行JSON相关的工作,包括可能与其他框架的集成。 首先,JSON的基本结构基于键值对(key-value pairs)和数组(arrays),它支持以下几种基本类型: 1. 对象...
JSON开发文档API是开发者在处理JSON数据时的重要参考资料,它提供了详细的API接口说明和使用方法。 JSON的核心结构包括对象和数组。对象是以大括号 `{}` 包裹的一系列键值对,键与值之间用冒号 `:` 分隔,多个键值...
本资源包含的"GoAhead Json开发"文档,可能涵盖了以下关键知识点: 1. **GoAhead服务器配置**:如何在Linux系统上安装和配置GoAhead服务器,包括启动、停止服务器,以及配置HTTP监听端口、访问日志和错误日志等。 ...
在"json开发相关jar包"中,我们可以推断这个压缩包可能包含了用于处理JSON的Java库。 常见的Java JSON处理库有以下几种: 1. **Jackson**:Jackson是Java中非常流行的JSON处理库,提供了高效的序列化和反序列化...
这个“json开发包”可能是指一个包含JSON解析、序列化、验证等功能的软件库或框架,旨在简化开发者处理JSON数据的过程。这样的开发包通常会提供API,让开发者可以方便地将JSON字符串转化为对象,或将对象转化为JSON...
以下是一些关于JSON开发和相关Jar包的重要知识点: 1. JSON格式:JSON是一种基于文本的、人可读的数据格式,其数据结构主要由对象(键值对)和数组组成。对象以大括号{}包裹,键值对以逗号分隔,键用引号包围;数组...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于移动开发,尤其是在Android平台上。它易于人阅读和编写,同时也易于机器解析和生成。这个“【Android】JSON应用”主题主要涵盖如何在...
JSON开发包通常包含了用于处理JSON数据的库和工具,方便开发者在各种编程语言中进行JSON操作。 JSON格式的基本结构包括对象和数组。对象是由键值对组成的无序集合,键用双引号包围,值可以是字符串、数字、布尔值、...
六、JSON在Web开发中的应用 JSON广泛应用于API接口的数据交换、存储客户端数据(如Web Storage或IndexedDB)、本地模拟服务器数据(如JSONP)等。通过学习JSON,你可以更好地理解和构建现代Web应用。 总之,这个...
在IT行业中,特别是在Web开发领域,JSON因其简洁、高效的特点,已经成为了服务器与客户端之间数据交互的首选格式。在JSP(JavaServer Pages)环境中,结合JSON的使用可以极大地提高应用的性能和用户体验。 标题"jsp...
该库由James Newton-King开发,旨在简化JSON在.NET应用程序中的使用,提供了丰富的功能和高效的性能。版本1.9.8是其在特定时间点的稳定版本,可能包含了一些重要的改进和修复。 ### JSON概述 JSON(JavaScript ...
本压缩包“json 包含所有json开发lib”提供了一系列用于处理JSON的开发库,对于进行JSON相关的开发工作非常有帮助。 1. **JSON的基本结构** JSON由键值对组成,键是字符串,值可以是各种数据类型,包括字符串、...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其简洁明了的文本形式,易于人阅读和编写,同时也易于机器...通过这个项目,你可以深入理解JSON和AJAX的结合使用,为今后的Web开发打下坚实基础。
SSH整合与JSON的应用是现代软件开发中的重要环节,特别是在分布式系统和远程服务器管理中。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行命令和传输数据,而JSON(JavaScript Object Notation...
《使用Delphi开发分散式JSON应用系统》是李维撰写的一部专著,该书主要讲解如何利用Delphi这一强大的编程工具,构建高效、可扩展的分布式应用程序,并结合JSON(JavaScript Object Notation)数据格式进行数据交换。...
总的来说,Java中的JSON应用涵盖了数据交换、序列化与反序列化、数据验证等多个方面,而Apache Commons库则提供了额外的功能支持,使得开发更加便捷高效。了解并熟练掌握这些知识对于提升Java Web开发的效率和质量至...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间的数据传输。在Java开发中,为了处理JSON数据,通常需要引入特定的库,如本主题所提及的`json-lib`。`json-lib`是Java...