Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。
1、 首先要去官方下载json-lib工具包
http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/
json-lib还需要以下依赖包:
jakarta commons-lang 2.5
jakarta commons-beanutils 1.8.0
jakarta commons-collections 3.2.1
jakarta commons-logging 1.1.1
ezmorph 1.0.6
官方网址: http://json-lib.sourceforge.net/如果你还不了解JSON是什么?那么你应该可以看看http://www.json.org/json-zh.html
2.代码
java代码:
JSONArray jsonArray = JSONArray.fromObject(ob);
ob为对象的集和,ArrayList类型。
JS代码:
在JS中,有一个相应的json2.js的文件,提供一种新的方法对json数据进行解析。
var json=xmlhttprq.responseText; //从后台获得json数据
var s=JSON.parse(json); //将数据转换为对象集和
通过上面的代码,就可以使用s[i]的形式调用对象集和了。
3.问题
1.日期转码问题
如果在java中的对象有Date类型或者其他日期类型的时候,json转码会得到一种意料之外的数据,我的解决办法是将日期转换为字符串形式。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
resultTime=format.format(rs.getDate("resultTime"));
2.乱码问题
如果从json数据解码获得的数据有乱码,一般是从java传到js出现了乱码,这时要统一前后台的编码方式,一般都使用UTF-8
java端: response.setContentType( "text/html" );
response.setCharacterEncoding( "UTF-8" );
JS端:将文件的属性中的编码方式变成UTF-8就可以。