package demo;
import org.json.JSONException;
import org.json.JSONObject;
public class Book {
private String name;
private int id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public JSONObject toJSONObject() throws JSONException{
JSONObject json = new JSONObject();
json.put("id", id);
json.put("name", name);
return json;
}
}
package demo;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class Order {
private String name;
private float cost;
private Date date;
private List<Book> books = new ArrayList<Book>();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getCost() {
return cost;
}
public void setCost(float cost) {
this.cost = cost;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public List<Book> getBooks() {
return books;
}
public void setBooks(List<Book> books) {
this.books = books;
}
public JSONObject toJSONObject() throws JSONException{
JSONObject json = new JSONObject();
json.put("name", name);
json.put("date", new SimpleDateFormat("yyyy-MM-dd").format(date));
json.put("cost", cost);
JSONArray jsonBooks = new JSONArray();
for (Book book : books) {
jsonBooks.put(book.toJSONObject());
}
json.put("books", jsonBooks);
return json;
}
}
package demo;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.JSONException;
public class JSONResponse extends HttpServlet {
@Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/x-json");
List<Book> books = new ArrayList<Book>();
Book b1 = new Book();
b1.setId(1);
b1.setName("book1");
Book b2 = new Book();
b2.setId(2);
b2.setName("book2");
books.add(b1);
books.add(b2);
Order order = new Order();
order.setBooks(books);
order.setCost(100.5f);
order.setName("orderName");
order.setDate(new Date(System.currentTimeMillis()));
try {
response.getWriter().print(order.toJSONObject());
} catch (JSONException e) {
}
}
}
<script type="text/javascript">
//req是XMLHttpRequest对象
var jsonObj = "(" + req.responseText + ")";
var order = eval(jsonObj);