首先创建两个Bean如下:
package com.kxw.test.bean;
import java.util.Date;
import java.util.List;
public class SendByUserIds {
private List userIds;
private String content;
private int messageType;
private Args args;
private Date expiredTime;
private String pwd;
private String groupId;
private String appName;
private String title;
private String titleColor;
private String bgColor;
private String contentColor;
private String bgPic;
public List getUserIds() {
return userIds;
}
public void setUserIds(List userIds) {
this.userIds = userIds;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public int getMessageType() {
return messageType;
}
public void setMessageType(int messageType) {
this.messageType = messageType;
}
public Args getArgs() {
return args;
}
public void setArgs(Args args) {
this.args = args;
}
public Date getExpiredTime() {
return expiredTime;
}
public void setExpiredTime(Date expiredTime) {
this.expiredTime = expiredTime;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getGroupId() {
return groupId;
}
public void setGroupId(String groupId) {
this.groupId = groupId;
}
public String getAppName() {
return appName;
}
public void setAppName(String appName) {
this.appName = appName;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getTitleColor() {
return titleColor;
}
public void setTitleColor(String titleColor) {
this.titleColor = titleColor;
}
public String getBgColor() {
return bgColor;
}
public void setBgColor(String bgColor) {
this.bgColor = bgColor;
}
public String getContentColor() {
return contentColor;
}
public void setContentColor(String contentColor) {
this.contentColor = contentColor;
}
public String getBgPic() {
return bgPic;
}
public void setBgPic(String bgPic) {
this.bgPic = bgPic;
}
}
package com.kxw.test.bean;
public class Args {
private int type;
private String value;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
测试程序如下:
package com.kxw.test.kxwTest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.kxw.test.bean.Args;
import com.kxw.test.bean.SendByUserIds;
public class TestJson {
public static void main(String[] args) {
SendByUserIds sendByUserIds=new SendByUserIds();
List list=new ArrayList();
sendByUserIds.setUserIds(list);
Args args2=new Args();
sendByUserIds.setArgs(args2);
sendByUserIds.getUserIds().add("000676");
sendByUserIds.getUserIds().add("000643");
sendByUserIds.getUserIds().add("000653");
sendByUserIds.getUserIds().add("000876");
sendByUserIds.setAppName("Arsenal,Kaka',22,Kingson");
sendByUserIds.setContent("托雷斯");
sendByUserIds.setMessageType(2);
sendByUserIds.setTitle("切尔西");
sendByUserIds.setExpiredTime( new Date());
sendByUserIds.getArgs().setType(4);
sendByUserIds.getArgs().setValue("Messi");
//生成Gson对象,把对象及其属性对象转换为Json字符串,
Gson g = new GsonBuilder()
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.create();
String jsonResult = g.toJson(sendByUserIds);
System.out.println(jsonResult);
}
}
结果:
{"userIds":["000676","000643","000653","000876"],"content":"托雷斯","messageType":2,"args":{"type":4,"value":"Messi"},"expiredTime":"2014-04-17 14:39:03","appName":"Arsenal,Kaka\u0027,22,Kingson","title":"切尔西"}
附:
http://blog.csdn.net/king87130/article/details/8009923
//生成Gson对象,把对象及其属性对象转换为Json字符串,
//解决子属性对象的无限递归问题,只转换我们用标签暴露的对象类型
Gson g = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.serializeNulls()
.setDateFormat(DateFormat.LONG)
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.setPrettyPrinting()
.setVersion(1.0)
.create();
String jsonResult = g.toJson(sysUser.getPageResult());
System.out.println(jsonResult);
response.setContentType("application/json;charset=utf-8");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.print(jsonResult);
out.flush();
out.close();