fastJSON的使用
fastJSON的简单介绍(不是官方):
它是alibaba开发的一款json转换工具,他可以转换很多类型的数据,要使用它首先要下载它。
一.它是如何应用在开发环境中的?
1.使用fastJson的JSONObject类转换us为json字符串
//向客户端写东西
public void printString(String str) {
HttpServletResponse resp = ServletActionContext.getResponse();
resp.setCharacterEncoding("utf-8");
try {
PrintWriter out = resp.getWriter();
out.print(str);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Action(value="findUsers") public String findUsers() { Users us = new Users("01", "张飞", "男", "西安", new Date()); //使用fastJson的JSONObject类转换us为json字符串 String jsonstr = JSONObject.toJSONString(us); System.out.println("json字符串:"+jsonstr); printString(jsonstr); return null; }
说明Users对象在我上一篇ajax简单使用中有,可以参考。
2.使用fastJson的JSONObject类转换List为json字符串
@Action(value="findAllUsers")
public String findAllUsers() {
Users us = new Users("01", "张飞", "男", "西安", new Date());
Users us1 = new Users("02", "赵云", "男", "西安", new Date());
Users us2 = new Users("03", "关羽", "男", "西安", new Date());
Users us3 = new Users("04", "刘备", "男", "西安", new Date());
List<Users> lsus = new ArrayList<Users>();
lsus.add(us);
lsus.add(us1);
lsus.add(us2);
lsus.add(us3);
//使用fastJson的JSONObject类转换List为json字符串
String jsonstr = JSONObject.toJSONString(lsus);
System.out.println("json字符串:"+jsonstr);
printString(jsonstr);
return null;
}
3.使用fastJson的JSONObject类转换Map为json字符串
@Action(value="findMapUsers")
public String findMapUsers() {
Users us = new Users("01", "张飞", "男", "西安", new Date());
Users us1 = new Users("02", "赵云", "男", "西安", new Date());
Users us2 = new Users("03", "关羽", "男", "西安", new Date());
Users us3 = new Users("04", "刘备", "男", "西安", new Date());
List<Users> lsus = new ArrayList<Users>();
lsus.add(us);
lsus.add(us1);
lsus.add(us2);
lsus.add(us3);
Map<String, Object> map = new HashMap<String, Object>();
map.put("lsus1", lsus);
//使用fastJson的JSONObject类转换Map为json字符串
String jsonstr = JSONObject.toJSONString(map);
System.out.println("json字符串:"+jsonstr);
printString(jsonstr);
return null;
}
4.前台获取数据
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>将一个bean对象转换为一个json对象</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(function() {
$("#btok").click(function() {
$.getJSON("findUsers.action", function(user) {
alert(user.uid);
alert(user.uname);
alert(user.sex);
alert(user.address);
alert(new Date(parseInt(user.birthday)));
});
});
});
$(function() {
$("#btok1").click(function() {
$.getJSON("findAllUsers.action", function(lsus) {
for (var i = 0; i < lsus.length; i++) {
var user = lsus[i];
alert(user.uid);
alert(user.uname);
alert(user.sex);
alert(user.address);
alert(new Date(parseInt(user.birthday)));
}
});
});
});
$(function() {
$("#btok2").click(function() {
$.getJSON("findMapUsers.action", function(map) {
var lsus = map.lsus1;
for (var i = 0; i < lsus.length; i++) {
var user = lsus[i];
alert(user.uid);
alert(user.uname);
alert(user.sex);
alert(user.address);
alert(new Date(parseInt(user.birthday)));
}
});
});
});
</script>
</head>
<body>
<input type="button" id="btok" value="通过json获得实体类的信息" />
<input type="button" id="btok1" value="通过json获得list集合中的实体的信息" />
<input type="button" id="btok2" value="通过json获得Map集合中的实体的信息" />
</body>
</html>

浙公网安备 33010602011771号