之前遇到过的一个问题就是前段请求后台,需要返回一个json格式的字符串,但是我们通常查询返回的是一个实体对象,所以需要将实体对象进行转化,转成json类型的字符串
网上的一种做法是通过反射的方式将实体的字段一个个取出来拼成一个stringBuffer.不断地append上去。但是觉得这种做法感觉很麻烦。现在有另外一种做法,贴上代码
package com.yaoqi.entity;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 退票实体类
* @author Administrator
*
*/
public class Refund {
private int id;
private String order_no;
private String source;
private String order_date;
private String airline;
private String aircompany;
private String name;
private String ticket_no;
private String pnr;
private Date date;
public String getDate() {
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
return sd.format(date);
}
public void setDate(Date date) {
this.date = date;
}
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOrder_no() {
return order_no;
}
public void setOrder_no(String orderNo) {
order_no = orderNo;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getOrder_date() {
return order_date;
}
public void setOrder_date(String orderDate) {
order_date = orderDate;
}
public String getAirline() {
return airline;
}
public void setAirline(String airline) {
this.airline = airline;
}
public String getAircompany() {
return aircompany;
}
public void setAircompany(String aircompany) {
this.aircompany = aircompany;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getTicket_no() {
return ticket_no;
}
public void setTicket_no(String ticketNo) {
ticket_no = ticketNo;
}
public String getPnr() {
return pnr;
}
public void setPnr(String pnr) {
this.pnr = pnr;
}
}
package com.yaoqi.entity;
/**
* 用户实体类
* @author Administrator
*
*/
public class User {
private Integer id;
private String name;
private String sex;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
package com.yaoqi.test;
import java.text.ParseException;
import java.util.Date;
import net.sf.json.JSONSerializer;
import com.yaoqi.entity.Refund;
import com.yaoqi.entity.User;
/**
* 测试类
* @author Administrator
*
*/
public class MforTest {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
Refund rf=new Refund();
User user =new User();
user.setId(11);
user.setAge(12);
user.setName("rookie");
user.setSex("boy");
rf.setAircompany("东航");
rf.setUser(user);
rf.setDate(new Date());
System.out.println(JSONSerializer.toJSON(rf).toString());
}
}