用org.json包实现基于Json的Ajax


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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值