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>

 

posted @ 2017-05-05 15:37  懒得烧蛇吃  阅读(367)  评论(0)    收藏  举报