实体类转换成JSON对象工具
[url]http://pan-java.iteye.com/admin/blogs/482625[/url]发布以后,发现网友对这个工具很关注,同时激起了我完善这个工具的动力,经过几个小时的努力,还有以前工作的一些实用程序一起组成这个工具包.
具体如下:
注解
@JSONValue -- 标示实体类的参数,
@JSONCollection-- 标示实体类的集合类参数,
@JSONEntity -- 标示实体类,
例子如下:
应用
同时还包含了两个工具
JSONResult --- 返回JSON结果
AjaxResponsePrintUtil -- ajax 返回写Response 工具
如果成功
如果失败
页面
简单的工具希望能给大家带来方便!
源代码: svn https://asksite.googlecode.com/svn/trunk/JSONExchange
[color=red]-----------------2009-10-14 更新-------------------------------------------[/color]
已更新为1.1
1.@JSONCollection 支持数组类型数据转换成 JSONArray
2.@JSONEntity 支持数组类型数据转换成 JSONArray
[color=red]-----------------2009-10-15 更新-------------------------------------------[/color]
已更新为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,包括了字段名,应用中更合理.
[url]http://pan-java.iteye.com/admin/blogs/482625[/url]发布以后,发现网友对这个工具很关注,同时激起了我完善这个工具的动力,经过几个小时的努力,还有以前工作的一些实用程序一起组成这个工具包.
具体如下:
注解
@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
[color=red]-----------------2009-10-14 更新-------------------------------------------[/color]
已更新为1.1
1.@JSONCollection 支持数组类型数据转换成 JSONArray
2.@JSONEntity 支持数组类型数据转换成 JSONArray
[color=red]-----------------2009-10-15 更新-------------------------------------------[/color]
已更新为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,包括了字段名,应用中更合理.