Jquery 构建并美化JSON对象
我试图使用ajax请求构建一个JSON对象,然后打印出经过修饰的数据,以便于阅读 以下是我所拥有的:Jquery 构建并美化JSON对象,jquery,json,object,Jquery,Json,Object,我试图使用ajax请求构建一个JSON对象,然后打印出经过修饰的数据,以便于阅读 以下是我所拥有的: var url, data; var shows = ["stranger things", "the night of"]; var json = {}; $.each(shows, function(i, show) { url = 'https://www.omdbapi.com/?t=' + show + '&type=series&plot=short' $.
var url, data;
var shows = ["stranger things", "the night of"];
var json = {};
$.each(shows, function(i, show) {
url = 'https://www.omdbapi.com/?t=' + show + '&type=series&plot=short'
$.ajax(url, {
complete: function(obj, status){
data = $.parseJSON(obj.responseText);
json.push(obj.responseText);
console.log(data);
}
});
});
var jsonPretty = JSON.stringify({shows: json}, null, '\t');
$("pre").text(jsonPretty);
问题出在json.push(obj.responseText)附近,但我找不到解决办法
有什么想法吗?- 你不能推入物体;您可以将其推入阵列
var json = [];
- 您的
来得太早了。将其移动到.text(jsonPretty)
处理程序中complete
- 你不能推入物体;您可以将其推入阵列
var json = [];
- 您的
来得太早了。将其移动到.text(jsonPretty)
处理程序中complete
var json=[]代码>
另外,由于默认情况下ajax请求是异步的,因此同时执行以下代码,此时json
的值为空
var jsonPretty = JSON.stringify({shows: json}, null, '\t');
$("pre").text(jsonPretty);
因此,您可以使ajax请求同步,也可以在执行代码之前检查最后一次显示:
if(showsLength == i + 1){
var jsonPretty = JSON.stringify({shows: json}, null, '\t');
$("pre").text(jsonPretty);
}
演示:
这里是另一种方法(同步请求)
演示:
啊,我现在明白了。谢谢你的帮助,山姆!有办法去吗
删除斜线\“?–Jon 10分钟前
看到这些斜杠的原因是,您正在字符串化一个字符串而不是一个对象,因此要解决这个问题,您需要在推送时将其设置为json对象
data = $.parseJSON(obj.responseText);
json.push(data);
演示:首先,对象初始化错误:
应该是var json=[];
另外,由于默认情况下ajax请求是异步的,因此同时执行以下代码,此时json
的值为空
var jsonPretty = JSON.stringify({shows: json}, null, '\t');
$("pre").text(jsonPretty);
因此,您可以使ajax请求同步,也可以在执行代码之前检查最后一次显示:
if(showsLength == i + 1){
var jsonPretty = JSON.stringify({shows: json}, null, '\t');
$("pre").text(jsonPretty);
}
演示:
这里是另一种方法(同步请求)
演示:
啊,我现在明白了。谢谢你的帮助,山姆!有办法吗
删除斜杠\“?–乔恩10分钟前
看到这些斜杠的原因是,您正在字符串化一个字符串而不是一个对象,因此要解决这个问题,您需要在推送时将其设置为json对象
data = $.parseJSON(obj.responseText);
json.push(data);
演示:啊,我现在明白了。谢谢你的帮助,山姆!有没有办法删除斜杠\“?我刚刚用一个演示更新了答案,告诉你这些斜杠的原因是什么啊,有道理!谢谢你的帮助!没问题,很高兴我能帮忙。啊,我现在明白了。谢谢你的帮助,山姆!有没有办法删除斜杠\”?我刚刚用一个演示更新了答案,向您展示了这些斜杠的原因是什么啊,有道理!谢谢你的帮助!没问题,很高兴我能帮忙。