Ajax响应JSON格式数据
<script type="text/javascript">
function fn() {
/**
* 发送AJAX请求
* 获取服务器响应的数据,使用JSON格式
*/
$.get(
"/WEB11/jquery_json",
"username=zhangsan",
function (data){
alert(data.lastname);
},"json"
);
}
</script>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(request.getParameter("username"));
//客户端响应JSON数据格式
response.setContentType("text/html;charset=utf-8");
//定义出JSON数据 {"firstname":"张","lastname":"三丰","age":100}
//转义字符,转变字符意义
String json = "{ \"firstname\":\"张\",\"lastname\":\"三丰\" }";
response.getWriter().write(json);
}
① JSON-LIB工具
作用:Java中数据转化成Json格式数据
包含:对象,数组,集合
/**
* JSON-LIB工具
* 对象Person存储到List
* 集合转成JSON
*/
#需要导入⑥个jar包:
commons-beanutils-1.8.3.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
public void ListToJson(){
List<Person> list = new ArrayList<Person>();
list.add(new Person("张三",20,"北京市海淀区"));
list.add(new Person("李四",30,"天津市武清区"));
list.add(new Person("王麻子",40,"北京市宣武区"));
//JSON-LIB工具: JSONArray类静态方法fromObject
String json = JSONArray.fromObject(list).toString();
System.out.println(json);
}
/*
* JSON-LIB工具
* 对象Person中的数据转成JSON格式
*/
public void ObjectToJson(){
Person p = new Person("张三",30,"北京市海淀区");
//JSON-LIB工具: JSONObject类静态方法fromObject
//方法返回值本类对象,再次调用方法toString()
String json = JSONObject.fromObject(p).toString();
System.out.println(json);
}
② Gson工具
#需要导入的jar
gson-2.2.4.jar
public void ListToJson(){
List<Person> list = new ArrayList<Person>();
list.add(new Person("张三",20,"北京市海淀区"));
list.add(new Person("李四",30,"天津市武清区"));
list.add(new Person("王麻子",40,"北京市宣武区"));
//gson工具实现转换
Gson gson = new Gson();
//对象调用方法 toJson(任意数据)
String json = gson.toJson(list);
System.out.println(json);
}