js解析json数据
来源:互联网 发布:四川大学网络教育费用 编辑:程序博客网 时间:2024/04/26 18:56
关于json数据格式,可以参考 http://www.w3school.com.cn/json/json_eval.asp
一 ,简单数据解析 ,传递一个用户的姓名和帐号
var xmlhttp;function m(){//alert("草");var cars=document.getElementById("cars"); var car1=cars.getElementsByTagName("li"); car1[1].innerHTML="nima";if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();}else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} xmlhttp.onreadystatechange=myfunc; xmlhttp.open("GET","jsonAction",true); xmlhttp.send();}function myfunc(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) { obj = eval("("+xmlhttp.responseText+")"); alert("完成请求:"); alert(obj.name); alert(obj.pwd); }if(xmlhttp.readyState==1) { //alert("建立连接"); } if(xmlhttp.readyState==2) { //alert("接收请求"); }if(xmlhttp.readyState==3) { //alert("处理请求中"); } }
action代码
package com.action;import com.opensymphony.xwork2.ActionSupport;public class jsonAction extends ActionSupport{private static final long serialVersionUID = 1L;private String name = "jiajia";private String pwd = "588" ;public String getName(){return this.name;}public String getPwd(){return this.pwd;}public String loadUser(){return SUCCESS;}}
struts.xml文件内容如下
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="jsonAcion" namespace="" extends="json-default"><action name="jsonAction" class="com.action.jsonAction" method="loadUser"><result name="success" type="json">/index.jsp</result></action></package> </struts>
重要的语句在于eval这个函数,注意两边加括号
二,解析复杂数据,多个用户的姓名和帐号
var xmlhttp;function m(){//alert("草");var cars=document.getElementById("cars"); var car1=cars.getElementsByTagName("li"); car1[1].innerHTML="nima";if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();}else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} xmlhttp.onreadystatechange=myfunc; xmlhttp.open("GET","jsonAction",true); xmlhttp.send();}function myfunc(){ if(xmlhttp.readyState==4&&xmlhttp.status==200) { obj = eval("("+xmlhttp.responseText+")"); alert("完成请求:"+xmlhttp.responseText); alert(obj.userList[0].username); alert(obj.userList[0].username+" "+obj.userList[0].pwd+" "+obj.userList[1].username+" "+obj.userList[1].pwd); //alert(obj[0].pwd); }if(xmlhttp.readyState==1) { //alert("建立连接"); } if(xmlhttp.readyState==2) { //alert("接收请求"); }if(xmlhttp.readyState==3) { //alert("处理请求中"); } }
action代码
package com.action;import java.util.ArrayList;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.user.User;public class jsonAction extends ActionSupport{private static final long serialVersionUID = 1L;private List<User> userList = new ArrayList<User>();public void setUserList(){User user1 = new User();user1.setPwd("1234");user1.setUsername("佳佳");User user2 = new User();user2.setPwd("5678");user2.setUsername("佳佳");this.userList.add(user1);this.userList.add(user2);}public List<User> getUserList(){return this.userList;}public String loadUser(){this.setUserList();return SUCCESS;}}
火弧浏览器下调试结果图
创建包含 JSON 语法的 JavaScript 字符串:
var txt = '{ "employees" : [' +'{ "firstName":"Bill" , "lastName":"Gates" },' +'{ "firstName":"George" , "lastName":"Bush" },' +'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
在网页中使用 JavaScript 对象:
例子
<p>First Name: <span id="fname"></span><br />Last Name: <span id="lname"></span><br /></p><script type="text/javascript">document.getElementById("fname").innerHTML = obj.employees[1].firstNamedocument.getElementById("lname").innerHTML = obj.employees[1].lastName</script>
0 0
- JS解析JSON数据
- js解析json数据
- js解析json数据
- js解析json数据
- js解析Json数据
- JS 解析 json 数据
- JS解析Json数据
- js解析json数据
- js解析json数据
- json数据 js解析
- js 解析json数据方法
- js解析json格式数据
- js解析json数据例子
- JS解析json数据[转]
- js解析json文件数据
- JS 对json数据解析
- 解析json数据 (js , java)
- JS 对json数据解析
- js自动检测是否已加载jquery
- crm2011开启组织审核
- 打印机使用技巧:打印机的另类用法
- 利用DotNET密码系统之一的DES对称加密算法保证数据安全
- 详解keepalived配置和使用
- js解析json数据
- 哪种硬盘坏道检测工具最好,有硬盘坏道怎么修复
- 暫存
- 在.NET中应用MATLAB算法
- android HLS 初始化过程
- c# chart 控件使用方法汇总
- storm程序添加自动重连远程消息队列功能
- DAO模式浅谈及实例
- 图的存储方式