`

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

  • Json.zip (120.6 KB)
  • 下载次数: 1362
分享到:
评论

相关推荐

    Jquery.json.js

    在实际项目中,通过使用jQuery提供的这些方法,开发者可以轻松地处理JSON数据,实现与服务器的高效通信。同时,理解jQuery与JSON的交互方式对于Web开发人员来说至关重要,能够提升开发效率和代码质量。

    echart世界地图的JSON单文件world.json

    这可以通过 AJAX 请求或者使用 `require`(如果使用模块化系统)来实现。 3. 初始化 ECharts 实例:在页面上的某个 DOM 元素上创建 ECharts 实例,设置容器的宽度和高度。 ```javascript var myChart = echarts....

    org.json框架

    `org.json`框架是一个Java库,专为处理JSON数据而设计,尤其在处理AJAX非XML格式的响应时显得尤为重要。本篇文章将详细介绍`org.json`框架以及如何利用它来生成和操作JSON对象。 `org.json`框架由Mozilla ...

    echart china.json,各省份地图

    1. **加载 JSON 数据**:首先,你需要在 JavaScript 代码中引入 `china.json` 文件,这可以通过 AJAX 请求或者直接将数据内联到代码中实现。 2. **创建 ECharts 实例**:在 HTML 页面中准备一个用于显示地图的 DOM ...

    jquery.json2xml.js和jquery.xml2json.js

    JSON(JavaScript Object Notation)和XML(eXtensible Markup Language)是两种广泛使用的数据交换格式,它们在Web服务和应用程序之间传输数据时起到至关重要的作用。jQuery是一个流行的JavaScript库,它简化了DOM...

    $.ajax json数据传递方法.docx

    $.ajax json 数据传递方法是使用 jQuery 库实现的异步数据传递方法,通过将 JSON 数据封装在 $.ajax 对象中,并将其作为参数传递给服务器端脚本,以实现客户端和服务器端之间的数据交互。 在前台代码中,首先定义了...

    jquery.json.min.2.3.0.js;json2.js

    此插件可能包含序列化和反序列化JSON对象的方法,对于与服务器进行Ajax通信尤其有用。 5. **json2.js**:这个文件可能是Douglas Crockford编写的JSON for Modern JavaScript的独立版本。在旧版的JavaScript引擎中,...

    AjaxJson实体类与依赖包

    `AjaxJson.java`的可能实现会如下所示: ```java public class AjaxJson { private int code; private String msg; private Object data; // 构造函数、getters和setters... public AjaxJson(int code, ...

    ajax+json实例

    在.NET环境下,使用AJAX和JSON可以实现高效的前后端通信。.NET提供了System.Web.Script.Serialization命名空间下的JavaScriptSerializer类,用于将.NET对象序列化为JSON字符串,或者将JSON字符串反序列化为.NET对象...

    System.net.json.dll

    JSON 是一种轻量级的数据交换格式,广泛应用于 Web 服务与客户端之间的数据传输,尤其是 AJAX(Asynchronous JavaScript and XML)技术。在 C# 中,`System.Net.Json.dll` 提供了类和方法来方便地序列化和反序列化 ...

    jquery.json-2.4.min.js

    `evalJSON`函数提供了一个安全的方式,它内部实现了JSON.parse(在旧版本的浏览器中可能为`$.parseJSON`),能够确保只有JSON格式的字符串才能被正确解析,防止了潜在的安全问题。例如,当你收到服务器返回的JSON...

    jquery.jsoncookie.zip

    使用`jquery.jsoncookie.js`插件,你可以方便地将JSON对象序列化成字符串并存入Cookie,或者从Cookie中读取JSON数据并反序列化回对象。以下是一些基本用法: 1. 存储JSON数据到Cookie: ```javascript $.cookie('...

    struts2 json Ajax 整合所需全部jar包.zip

    "struts2 json Ajax 整合所需全部jar包.zip"这个压缩包文件包含了实现上述功能所需的JAR库。lib目录下的文件可能包括Struts2的核心库、JSON处理库以及可能的Ajax支持库,如jQuery或Prototype。这些库可能包括: 1. ...

    Newtonsoft.Json-master.zip

    当我们使用Json的时候,很多时候会涉及到几个序列化对象的使用:DataContractJsonSerializer、JavaScriptSerializer 和Json.NET即Newtonsoft.Json。大多数人都会选择性能以及通用性较好Json.NET,这个不是微软的类库...

    AjaxJson 实例 AjaxJson

    AjaxJson 是一种在 Web 应用程序中实现异步数据交换的技术,它结合了 AJAX(Asynchronous JavaScript and XML)和 JSON(JavaScript Object Notation)的优势,使得网页可以在不刷新整个页面的情况下与服务器进行...

    jQuery-ajax-json实现自动轮播图.rar

    这样,我们就实现了使用jQuery、ajax和json动态加载并展示自动轮播图的功能。需要注意的是,实际应用中还需要考虑错误处理、图片加载优化、触摸滑动支持等细节,以提供更完善的用户体验。此外,可以结合CSS3的动画...

    AJAXJSON的实现

    总结来说,AJAXJSON的实现涉及创建XMLHttpRequest对象,设置请求参数,处理响应数据,并使用JSON作为数据交换格式。现代Web开发中,我们通常会借助第三方库或API来简化这个过程,以实现更加高效和灵活的前端应用。...

    Newtonsoft.Json的扩展特性

    近在项目中尝试Json来用于ajax和asp.net之间传递数据,确实方便不少。但也有一些不方便之处。 在我的项目中一个类有太多的属性,有的时候我只想将其中一两个系列化成Json字符串传递到客户端来,Newtonsoft.Json为...

    Ajax中使用JSON传输数据

    本篇文章将深入探讨在Ajax中如何使用JSON来传输数据,以及涉及到的相关工具和源码。 首先,让我们理解JSON的基本概念。JSON是一种基于JavaScript语法的数据表示方式,它可以表示数组、对象、数值、字符串等基本数据...

Global site tag (gtag.js) - Google Analytics