精华帖 (1) :: 良好帖 (9) :: 新手帖 (19) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-10
最后修改:2009-10-15
http://pan-java.iteye.com/admin/blogs/482625发布以后,发现网友对这个工具很关注,同时激起了我完善这个工具的动力,经过几个小时的努力,还有以前工作的一些实用程序一起组成这个工具包. 具体如下: 注解 @JSONValue -- 标示实体类的参数, @JSONCollection-- 标示实体类的集合类参数, @JSONEntity -- 标示实体类, 例子如下: public class User implements Serializable { /** * */ private static final long serialVersionUID = 7496167483113776481L; public User(String name, int age) { this.name = name; this.age = age; } @JSONValue private String name; @JSONValue private int age; @JSONCollection private List<User> firends = new ArrayList<User>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public List<User> getFirends() { return firends; } public void setFirends(List<User> firends) { this.firends = firends; } } @JSONEntity public class Food implements Serializable{ public Food(String name,int price){ this.name = name; this.price = price; } private String name; private int price; private Set<Food> set = new HashSet<Food>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public Set<Food> getSet() { return set; } public void setSet(Set<Food> set) { this.set = set; } } 应用 JSONObject obj = new JSONObject(); EntityConversionJSON.entityToJSON(usera, obj); JSONArray obj = new JSONArray(); EntityConversionJSON.collectionToJSONArray(usera.getFirends(), obj); 同时还包含了两个工具 JSONResult --- 返回JSON结果 AjaxResponsePrintUtil -- ajax 返回写Response 工具 如果成功 JSONObject object = JSONResult.getSuccess(null); AjaxResponsePrintUtil.writer(response, object); 如果失败 JSONObject object = JSONResult.getFail("system error!"); AjaxResponsePrintUtil.writer(response, object); 页面 if(data.result==1){//成功 // some }else{//失败 alert(data.message); } 简单的工具希望能给大家带来方便! 源代码: svn https://asksite.googlecode.com/svn/trunk/JSONExchange -----------------2009-10-14 更新------------------------------------------- 已更新为1.1 1.@JSONCollection 支持数组类型数据转换成 JSONArray 2.@JSONEntity 支持数组类型数据转换成 JSONArray -----------------2009-10-15 更新------------------------------------------- 已更新为1.2 1.@JSONMap支持 Map类型的数据 格式:{"map":[{"food1":{"users":[],"price":20,"name":"food1"}},{"food2":{"users":[],"price":30,"name":"food2"}}]} map是MAP数据字段名 内包含JSONArray food1是MAP 的key 2.array,collection,map转换成JSONObject,包括了字段名,应用中更合理. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-12
用了一下非常不错,望LZ继续完善!
|
|
返回顶楼 | |
发表时间:2009-10-12
XStream也可以完成这种Java对象到JSON对象的转换咯,还可以嵌套,不错。推荐大家试下
|
|
返回顶楼 | |
发表时间:2009-10-13
LZ的这种思想还是不错的呢 期待多更新几个版本 多添加点东西
|
|
返回顶楼 | |
发表时间:2009-10-13
whaosoft 写道 LZ的这种思想还是不错的呢 期待多更新几个版本 多添加点东西 谢谢,还希望你们多发现问题,多提建议,这个工具还有很多不足,还要不断的完善! |
|
返回顶楼 | |
发表时间:2009-10-13
赞一个,请问相对Xstream ,JSONLib .GSON等,有啥特点,是否支持对Hibernate Proxy Bean的转换
|
|
返回顶楼 | |
发表时间:2009-10-13
linliangyi2007 写道 赞一个,请问相对Xstream ,JSONLib .GSON等,有啥特点,是否支持对Hibernate Proxy Bean的转换 我没有用过Xstream ,JSONLib .GSON, 现在我的这个工具,支持注解,可以确认那些字段转换,那些不转换 还不支持Map类型的转换,在实际开发不知将Map转成JSONObject 还是 JSONArray好. 还不支持 JSON --> JAVABEAN 转换 还在不断完善,能力有限还请各位提保贵意见,为中国开源做一份小小的供献. |
|
返回顶楼 | |
发表时间:2009-10-13
pan_java 写道 linliangyi2007 写道 赞一个,请问相对Xstream ,JSONLib .GSON等,有啥特点,是否支持对Hibernate Proxy Bean的转换
我没有用过Xstream ,JSONLib .GSON, 现在我的这个工具,支持注解,可以确认那些字段转换,那些不转换 还不支持Map类型的转换,在实际开发不知将Map转成JSONObject 还是 JSONArray好. 还不支持 JSON --> JAVABEAN 转换 还在不断完善,能力有限还请各位提保贵意见,为中国开源做一份小小的供献. 加油加油 |
|
返回顶楼 | |
发表时间:2009-10-13
楼主做的很好,希望楼主能够完善,减轻我们的工作量,加油!
|
|
返回顶楼 | |
发表时间:2009-10-14
nutz里也包含一个json的工具包使用也很方便,不过还是支持LZ,支持中国的开源事业!
|
|
返回顶楼 | |