`
孔雀王子
  • 浏览: 40940 次
  • 性别: Icon_minigender_1
  • 来自: 河北
文章分类
社区版块
存档分类
最新评论

JS+Ajax解析JSON的案例

阅读更多

        JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

        JSON构建的结构:

        1. “名称/值"对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

        2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

        以下是我写的一个Js+Ajax解析Json的案例。源代码如下:

<%@ 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>My JSP 'index.jsp' starting page</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">
		<style type="text/css">
td {
	text-align: center;
	color: #333333;
	font-size: 12px;
}

th {
	color: #aaaaaa;
	font-size: 13px;
}
</style>

		<script type="text/javascript">
function getXMLHttpRequest() {

	var xhr;

	try {

		xhr = new XMLHttpRequest();

	} catch (err1) {

		try {

			xhr = new ActiveXObject("Microsoft.XMLHTTP");

		} catch (err2) {

			alert("您的浏览器版本不支持Ajax....");

		}

	}

	return xhr;

}

function $(id) {

	return document.getElementById(id);

}

function saxJson() {

	var xhr = getXMLHttpRequest();

	xhr.open("GET", "./json.jsp", true);

	xhr.send();

	xhr.onreadystatechange = function() {

		if (xhr.readyState == 4 && xhr.status == 200) {

			var stus = eval("(" + xhr.responseText + ")");

			var tby = $("tby");

			for ( var i = 0; i < stus.length; i++) {

				var tr = document.createElement("tr");

				var ntd = document.createElement("td");

				var std = document.createElement("td");

				var atd = document.createElement("td");

				var etd = document.createElement("td");

				ntd.innerHTML = stus[i].name;

				std.innerHTML = stus[i].sex;

				atd.innerHTML = stus[i].age;

				etd.innerHTML = stus[i].email;

				tr.appendChild(ntd);

				tr.appendChild(std);

				tr.appendChild(atd);

				tr.appendChild(etd);

				tby.appendChild(tr);

			}

		}

	}

}
</script>
	</head>

	<body onload="saxJson();">

		<h2 align="center" style="color: #666666;">
			JS解析JSON的案例
		</h2>
		<div id="display" align="center">
			<table style="border-collapse: collapse" cellspacing="0"
				cellpadding="3" id="tbl" border="1" width="360">
				<thead>
					<tr>
						<th>
							姓名
						</th>
						<th>
							性别
						</th>
						<th>
							年龄
						</th>
						<th>
							邮箱
						</th>
					</tr>
				</thead>
				<tbody id="tby">

				</tbody>
			</table>
		</div>
		<br />
		<div align="center" style="font-size: 12px; color: #333333;">
			Copyright&copyCSDN Corporation 2010-2011
		</div>
	</body>
</html>

 json.jsp代码清单:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
student=[

	{
		name:"SXPGOG",
		
		sex:"boy",
		
		age:"21",
		
		email:"dyzh.yysg@163.com"
	
	},
	
	{
	
		name:"Lily",
		
		sex:"Girl",
		
		age:"19",
		
		email:"532265808@qq.com"
	
	},
	
	{
	
		name:"XYZ",
		
		sex:"Boy",
		
		age:"22",
		
		email:"unknow@qq.com"
	
	},
	
	{
	
		name:"Tom",
		
		sex:"Boy",
		
		age:"22",
		
		email:"unknow@qq.com"
	
	}

]

       注意:json.jsp中的代码要符合Json的语法规范

分享到:
评论
5 楼 GZQ0821 2012-07-18  
我的xhr.status返回500,是什么意思???
4 楼 yinghuayu1324117 2011-04-02  
我们只是拿它做个例子而已
3 楼 ekian 2011-04-01  
受教了。没试过直接在JSP页面上写Json串。不过,一般也不会在JSP上写,都是在后台把数据转换成Json格式的数据,在发送到JSP页面上的。。。
2 楼 辽东小小 2011-03-31  
java代码怎么写json啊?楼主写的是js中创建的json串
1 楼 yinghuayu1324117 2011-03-29  
不错嘛

相关推荐

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    matlab建立计算力学课程的笔记和文件.zip

    matlab建立计算力学课程的笔记和文件.zip

    FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

    FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    office 2016三和一精简版

    office 2016三和一精简版

    Scrapy-1.0.2-py2-none-any.whl

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    setuptools-0.6c10-py2.4.egg

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡顾问的黄金思考方法.pptx

    麦肯锡顾问的黄金思考方法.pptx

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    ansys maxwell

    ansys maxwell

    5-5.py

    5-5

    xx广告促销计划流程实施手册.ppt

    xx广告促销计划流程实施手册.ppt

    仿小米商城微信小程序源码+项目说明.zip

    仿小米商城微信小程序源码+项目说明.zip

    pytest-4.6.0.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Scrapy-2.10.1.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡xx客户满意服务.ppt

    麦肯锡xx客户满意服务.ppt

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    基于python+Scrapy的农业数据爬虫设计与实现

    【作品名称】:基于python+Scrapy的农业数据爬虫设计与实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于Scrapy的农业数据爬虫设计与实现 . ├── Crops # web服务 │ ├── app.py │ ├── static # 静态文件 │ │ ├── css │ │ └── js │ └── templates # 静态页面 │ ├── corn.html │ ├── corns.html │ ├── index.html │ ├── porcor.html │ ├── pork.html │ └── porks.html ├── README.md └── spider # 爬虫及数据处理 ├── integration # 数据汇总 │ └── corn.py └── tutorial # 爬虫 ├── scrap

Global site tag (gtag.js) - Google Analytics