Code Bye

关于js解析json的问题

我的json是个list,我想把它解析出来放到table里面,但是总是出现这种情况:我解析的js代码是:

function AjaxText(index){
			$.ajax({
			url : "findAction.action",
			type : "post",
			dataType : "json",
			data : {
				"index" : index
			},
			success :  function(data){alert("接受成功");studentlist(data);}
			});
		}

		function studentlist(data){
		 //获取后台传过来的jsonData,并进行解析
		 alert("------->进入当前的数据展现");
		 var dataArray = $.parseJSON(data.jsonData);
		 //此处需要让其动态的生成一个table并填充数据
		 var tableStr = "<table>";
		 tableStr = tableStr + "<tr><td>学号</td><td>姓名</td><td>性别</td></thead>";
		 alert(str);
		 var len = dataArray.length;
		 for(var i=0 ;i<len ; i++){
		 	tableStr = tableStr + "<tr><td>"+ dataArray[i].studentId +"</td>"+"<td>"+dataArray[i].studentName + "</td>"+"<td>"+dataArray[i].studentSex +"</td></tr>";
		 }
		 tableStr = tableStr + "</table>";
		 //将动态生成的table添加的事先隐藏的div中.
		 alert(str);
		 $("#dataTable").html(tableStr);   
		 }

htmi中的一个div:<div id=”dataTable”></div>  
设置断点是“——->进入当前的数据展现”可以弹框输出,但是 alert(str);不可以
大神们这个怎么改啊?

7分
你想弹出的这个str变量在哪里定义的,没有看到。
7分
什么时候触发的你没说清楚吧
8分
如果明确知道了data.jsonData是数组类型的格式,那么可以使用eval函数转换为array对象撒。
var dataArray = eval(“”(“”+data.jsonData+””)””);

另外,你的str变量在哪里定义的?

引用 1 楼 wlwlwlwl015 的回复:

你想弹出的这个str变量在哪里定义的,没有看到。

引用 3 楼 crazypandariy 的回复:

如果明确知道了data.jsonData是数组类型的格式,那么可以使用eval函数转换为array对象撒。
var dataArray = eval(“”(“”+data.jsonData+””)””);

另外,你的str变量在哪里定义的?

额,这个写错了,应该是alert(tableStr);我改过来了,直接运行时还是这个结果,加上断点后能的输出第一个,不能输出的二个。

引用 2 楼 huwenzhi1991 的回复:

什么时候触发的你没说清楚吧


单击查找的时候触发,下边会显示初查询出来的列表,我用json能返回数据,但是解析总是不对,出现上图情况,这是怎么回事?

引用 3 楼 crazypandariy 的回复:

如果明确知道了data.jsonData是数组类型的格式,那么可以使用eval函数转换为array对象撒。
var dataArray = eval(“”(“”+data.jsonData+””)””);

另外,你的str变量在哪里定义的?

我的json是list类型的,一开始我是这样写的,也不行,后来改成那样的。

 function studentlist(json){
            var list = json.list;
			var str="<TABLE class=gridView id=ctl00_ContentPlaceHolder2_GridView1 style=""WIDTH: 100%; BORDER-COLLAPSE: collapse"" cellSpacing=0 rules=all border=1> <TBODY>";
			str+="<TR><TH class=gridViewHeader style=""WIDTH: 50px"" scope=col>&nbsp;</TH>"
											+"<TH class=gridViewHeader scope=col>学号</TH>"
											+"<TH class=gridViewHeader scope=col>姓名</TH>"
											+"<TH class=gridViewHeader scope=col>性别</TH>"
											+"<TH class=gridViewHeader scope=col>专业</TH></TR>";

				jQuery.each(json, function(i, item) {
			    var studentId=item.studentId;
			    var studentName=item.studentName;
			    var studentSex=item.studentSex;
			    var major=itam.major;
				    str+="<tr> <TD class=gridViewItem style=""WIDTH: 50px""><IMG src=""images/bg_users.gif""></TD>";
  					str+="<TD class=gridViewItem>"+studentId+"</TD>";
					str+="<TD class=gridViewItem>"+studentName+"</TD>";
					str+="<TD class=gridViewItem>"+studentSex+"</TD>";
					str+="<TD class=gridViewItem>"+major+"</TD>";
					str+="</tr>";
			});
			str+="</TBODY></TABLE>";
			alert(str);
  			document.getElementById("dataTable").innerHTML=str;
  			alert(str);
  			}
8分
jQuery.each(json, function(i, item) {…这里?
错误已经解决,我设置了表单,页面老是跳转,把表单去了就好了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于js解析json的问题