Fastjson快速入门

前端之家收集整理的这篇文章主要介绍了Fastjson快速入门前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在使用Ajax方式构建的web2.0应用中,通常需要使用JSON作为数据交换的格式,JSON和XML相比较,更加便于解析,易于学习和使用。

最原始的Ajax方式是创建XmlHttpRequest对象,来进行发送请求和接收响应的。但是,创建方式过于复杂,需要考虑到浏览器的兼容性、字符编码等诸多因素。

JQuery是一种基于Javascript的前端框架,提供了对Ajax的轻量级封转,以一种更加友好的方式使用Ajax技术,通常为$.ajax或者$.get/$.post方式。

EasyUI和Extjs则是Javascript的重量级封装库。这两者都提供了非常优秀的前端UI组件,例如日历组件calendar,表格组件datagrid,树状空间tree等;这些重量级的UI框架,提供了对Ajax更加良好的支持,很多情况下只需要提供ajax请求的url以及用于响应的data即可,开发者不再需要因为处理Ajax请求与响应的技术细节而抓耳挠腮了!

在传统的Java web开发中,我们通常使用out对象将生成的JSON文本写出到客户端,在前端使用Javascript对服务器端返回的JSON文本进行解析即可。

使用过Spring MVC的童鞋,一定会被它的强大并且简单所深深折服。Spring MVC框架会自动地将实体对象、或者实体对象List集合,转换为客户端所需要的JSON文本,而仅仅需要添加对Jackson.jar的依赖即可|伦理电影 www.akdy.cn

如果使用其他的框架技术如struts,或者使用servlet作为控制器的话,需要开发者手动的实现实体、实体集合到JSON文本的转换功能。幸运的是,我们可以使用开源的JSON处理包来帮助我们完成此项功能。如果使用json-lib-2.2.2-jdk15.jar的话,需要添加很多依赖包:

ezmorph.jar
commons-logging.jar
commons-lang.jar
commons-beanutils.jar
commons-collections.jar

比较繁琐,当然如果使用Maven作为项目构建工具,这自然不是问题。

我们还有更多选择的余地,Alibaba的温少实现了一个JSON处理jar,并且已经作为开源项目:fastjson-1.1.33.jar [可下载附件]。fastjson的优点是:开放源码、没有多余的依赖jar、强大并且性能显著。

[1]. 转为Java类型为JSON文本:

@ 大多数情况下,只需要一行代码即可,提供的参数可以是Java对象、对象的List集合,或者Map类型、Map的List集合等:String jsonStr = JSON.toJSONString(arg)

@ 如果存在Date类型的字段:如下代码是一种更加简单的处理方式:
String jsonStr = JSON.toJSONStringWithDateFormat(user,"yyyy-MM-dd");


@ 为了便于观察转换后的JSON结果,我们可以使用重载的方法,设置prettyFormat参数为true即可:
String jsonStr = JSON.toJSONString(user,true);

---------------------OUTPUT------------------------

[
{
"stuId":1,
"stuName":"James"
},sans-serif">"stuId":2,sans-serif">"stuName":"Bill"
}
]

[2]. JSON文本转为Java对象:

Userinfo user = JSON.parSEObject(jsonStr,Userinfo.class);

我们可以将客户端传入的JSON文本,反序列化为Java实体。

[3]. 使用JSONObject对象:

@ 在进行某项操作,比如删除时,我们需要反馈给客户端一个包含多个字段的对象:

JSONObject result = new JSONObject();

result.put("success",true);
result.put("msg","删除成功!");

@ 输出时,转换为JSON文本:

调用result.toString()的转换结果等同于传统的result.toJSONString()方法

猜你在找的Json相关文章