jQuery怎么解析ajax返回的json数据,里面包含一个数组

下面是前段代码:
success: function (msg) {
if (msg.err_code==0) {
var str = "";
var page="";

var json = eval(msg.return_data); //数组

$.each(json, function (index) {
//循环获取数据
str += "<tr>" +
"<td>" + json[index].usergameid + "</td>" +
"<td>" + json[index].agentid + "</td>" +
"<td>" + json[index].score + "</td>" +
"<td>" + json[index].date+ "</td>" +
"</tr>";
page+="<a href=../GetDialRecord.asp?gameid"+gameid+"&starttime="+"&endtime="+"&page="+index+">"+index+"</a>";
});
tbody.innerHTML = str;
}
},
下面是json数据
{"err_code":0,"err_msg":"操作成功!","return_data":[{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 15:06:31"},{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 17:10:27"},{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 22:25:24"}],"num":26}

var json = '{"err_code":0,"err_msg":"操作成功!","return_data":[{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 15:06:31"},{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 17:10:27"},{"usergameid":"10048","agentid":"10057","score":"1","date":"2017/9/6 22:25:24"}],"num":26}';
json = $.parseJSON(json);
if( !json.err_code ){
$('body').append('<p style="color: blue;">'+json.err_msg+'</p><br/><p>数据如下:</p><br/><table id="data-table"><thead><tr><td>agentid</td><td>date</td><td>score</td><td>usergameid</td></tr></thead><tbody></tbody></table>');
var data = json.return_data;
if( data ){
if( $.isArray(data) ){
for( var i in data ){
$('#data-table').children('tbody').append('<tr><td>'+data[i].agentid+'</td><td>'+data[i].date+'</td><td>'+data[i].score+'</td><td>'+data[i].usergameid+'</td></tr>');
}
}
}
}

追问

大神您好,您的答案发现在执行到json = $.parseJSON(json);时不往下执行了,jQuery版本是jquery-1.10.2.js,这是什么原因。$.ajax({success: function (msg) { alert(msg.err_msg); var json = $.parseJSON(msg);alert(json.err_msg);第二个没有执行

追答

是我的代码没有往下执行还是你经过整合后没有往下执行

追问

我整合后,发现没有,麻烦您了

追答

var json = $.parseJSON(msg);把json打印到控制台看看,console.info(json);

我这边是解析成功了

追问

打印没什么东西,我觉得是这样的,那个ajax的success函数传递进来的已经不是字符串了,是一个object了,parseJSON函数传递的是一个字符串参数

追答

我刚刚用你最开始那种渲染方式,发现也没有东西出来。

//我用你的方式改了一下,也解析出来了
 for( var i in data ){
                  str += "<tr>" +
"<td>" + data[i].usergameid + "</td>" +
"<td>" + data[i].agentid + "</td>" +
"<td>" + data[i].score + "</td>" +
"<td>" + data[i].date+ "</td>" +
"</tr>";
                }
tbody.html( str );

追问

是用的ajax方式吗,是的话,可以吧完整代码给我吗,谢谢您了。您是不是直接定义的一个Json字符串

追答

恩。如果不是字符串就不用$.parseJSON了,直接就可以用了。我的环境是php,使用ajax,同样可以解析的

追问

嗯嗯,那就奇怪了,谢啦

温馨提示:内容为网友见解,仅供参考
无其他回答

jQuery怎么解析Json字符串
一、jQuery解析Json数据格式: 使用这种方法,必须在Ajax请求中设置参数: 1、dataType: "json" 获取通过回调函数返回的数据并解析得到我们想要的值,看源码:jQuery.ajax({ url: full_url, dataType: "json", success: function(results) { alert(result.name); } });jquery异步请求...

jquery解析json数据?
如何使用Jquery解析返回的Json,然后写入select下拉框?1、你这数据不是标准的JSON吧,一般的做法是服务端返回标准json数据,然后用jquery绑定。不过,非要用你这个数据结构,也没问题。2、这是jQuery里jQuery.post的定义:jQuery.post(url,[data],[callback],[type])第四个参数可以指定返回的数据类型,...

javascript 或jquery如何正确读取ajax返回的数组
1、先把得到的数组用alert(array)看是不是[object],如果不是 如果是弹出这个数组的字符串的话;2、那就 var array=eval("("+array+")");再array[0]["title"]就能得到了。3、一般返回的如果不是json格式的数组,那么需要转换成json格式 jQuery.parseJSON(data);...

jquery遍历json数组?
如果是写JS的话,首先前台获取到json后,使用eval(你返回的json);这样就可以将json解析成一个数组。jquery遍历民族json数据1、jQuery是继prototype之后又一个优秀的Javascrīpt框架。其宗旨是——WRITELESS,DOMORE,写更少的代码,做更多的事情。2、这和各浏览器的Map键名的遍历方法相关,jquery只不过是...

在jquery ajax中,如果从后台往前台传一个List集合,则在前台怎么解析
ajax一般传回的是json数据,只需要解析json就可以了 {"comments":[{"content":"很不错嘛","id":1,"nickname":"纳尼"},{"content":"哟西哟西","id":2,"nickname":"小强"}]}\/\/ajax返回上述json $.getJSON("loadInfo", function(data) { \/\/jquery解析map数据 $.each(data.infomap...

ajax请求时如何解析json数据
服务器需要返回json格式的数据,然后在ajax的返回类型设置为json格式,就可以在返回的数据当中直接所以json数据了。

基于$.ajax()方法从服务器获取json数据的几种方式总结
也可以使用{"age":[18,20]}来简化上面的json数组,这是一个拥有一个age数组的对象。二.$.ajax()方法中dataType属性的取值$.ajax()方法中dataType属性要求为String类型的参数,预期服务器返回的数据类型。如果不指定,JQuery将自动根据http包mime信息返回responseXML或responseText【在第三部分解释】,并作为回调函数...

在JSP的JQUERY中如何解析JSON
你这样写是不能的到‘1’的,可以改下你的json数据:[{id:1,name:"aa"}]alert(data[0].id+" : "+data[0].name)

ajax怎么获取返回的json数据
dataType,类型:String,预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值...

JQuery ajax json怎样获取外网url返回的数据
提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递), 第三方产生的响应为json数据的包装(故称之为jsonp,即json padding),形如:callback({"name":"hax","gender":"Male"})这样浏览器会调用callback函数,并传递解析后json对象作为参数。本地脚本可在callback函数里处理所传入的数...

相似回答