HTML5已原生支持json的解析,window.JSON.parse()将json格式字符串转换为json对象,window.JSON.stringify()将json对象转换为json格式字符串。
示例:Html代码
<!DOCTYPE HTML>
<html>
<head>
<title>Window.JSON</title>
<meta charset="gb18030">
</head>
<body>
<button type="button" id="btn1">解析json字符串</button>
<button type="button" id="btn2">json对象转换为json字符串</button>
<div id="res">
</div>
<script language="JavaScript">
<!--
var jsonStr = "{\"total\":100,\"data\":[{\"id\":10001,\"name\":\"scott\"},{\"id\":10002,\"name\":\"tiger\"}]}"
var jsonObj = window.JSON.parse(jsonStr)
document.getElementById("btn1").onclick = function() {
var str = "json字符串解析为json对象<br>"
str += "<span>Total:"+jsonObj.total+"</span><br><span>Data:"
for (var i=0i<jsonObj.data.length i++)
{
str += "id:" + jsonObj.data[i].id + ",name:" + jsonObj.data[i].name+"<br>"
}
str += "</span><br>"
document.querySelector("#res").innerHTML = str
}
document.getElementById("btn2").onclick = function() {
var jsonObj = {total:100,data:[{id:10001,name:"scott"},{id:10002,name:"tiger"}]}
var jsonStr = window.JSON.stringify(jsonObj)
var str = "转为json字符串:<br>" + jsonStr
document.querySelector("#res").innerHTML = str
}
//-->
</script>
</body>
</html>
单击“解析json字符串”按钮,结果:
json字符串解析为json对象
Total:100
Data:id:10001,name:scott
id:10002,name:tiger
单击“json对象转换为json字符串”按钮,结果:
转为json字符串:
{"total":100,"data":[{"id":10001,"name":"scott"},{"id":10002,"name":"tiger"}]}
首先来说,2个独立的js文件本身是不能互传参数的要达到你的这个效果只能模拟,介绍2个方法
1把这2个html都用iframe嵌入到一个html页面,通过这个html的window.top.xxx来传递这个变量,这样,在这个页面的iframe里的html就可以共享window.top里面的东西
2是通过url来传递,类似于动态脚本的传参,把重要参数作为字符串带到url里面,再在另一个页面用js匹配获取参数,但是这种方法,不能到达这边修改那边马上就要更新的效果
给你一个大致的方案,具体想要实现的方法自己解决,不懂再问。 先要导入这两个包: <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/json.js"></script> <input type="button" value="使用Json请求去后台获取数据返回是json对象" onClick="toJson()"> function toJson() { /*发出是json请求:返回的字符串是json对的字符串*/ $.getJSON("jsonViewServlet?falg=2",null,function call(data){jsonResponse(data)}) } 我这里java代码是用servlet实现: if ("2".equals(flag)) {JSONObject resultJSON = new JSONObject() try { resultJSON.put("sex", "男")resultJSON.put("age", "22")resultJSON.put("name", "张三")System.out.println(resultJSON.toString())/* {"sex":"男","name":"张三","age":"22"} */} catch (Exception e) { e.printStackTrace() }out.print(resultJSON.toString()) } 在web.xml里面怎么配置servlet就不需要我多说了吧?欢迎分享,转载请注明来源:内存溢出
评论列表(0条)