Javascript 如何从API响应中提取部分JSON?
这是我之前关于这个话题的问题 我的问题是,我使用的服务器api在列表中添加了一个新项,正如我在上一个问题中所述,我对api或jQuery不是很熟练,因此我想知道您能推荐我阅读哪些内容以及实际的解决方案。我需要使js使用的字段仅为{“name”:“Arthas”,“slug”:“Arthas”,“build”:“12340”,“status”:1},而不是其他字段 非常感谢 这是api-> 这是我现在的jsJavascript 如何从API响应中提取部分JSON?,javascript,jquery,api,Javascript,Jquery,Api,这是我之前关于这个话题的问题 我的问题是,我使用的服务器api在列表中添加了一个新项,正如我在上一个问题中所述,我对api或jQuery不是很熟练,因此我想知道您能推荐我阅读哪些内容以及实际的解决方案。我需要使js使用的字段仅为{“name”:“Arthas”,“slug”:“Arthas”,“build”:“12340”,“status”:1},而不是其他字段 非常感谢 这是api-> 这是我现在的js function checkStatus() { jQuery.getJSON("
function checkStatus()
{
jQuery.getJSON("http://api.neverendless-wow.com/server-status",function(data){
if (data.status == '1') {jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
else {jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();
{
setInterval(changeState, 300000)
}
您需要使用数据作为数组(数据[0]),因此您的代码如下所示:
function checkStatus()
{
jQuery.getJSON("http://api.neverendless-wow.com/server-status",function(data){
if (data.servers[0].status == '1') {
jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');
}
else {
jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');
}
});
}
checkStatus();
{
setInterval(changeState, 300000)
}
我可能会这样说:
// check server status
function checkStatus()
{
$.getJSON(server_url, function(data) {
// reset
var mode = "Offline";
$('.status').removeClass('online').addClass('offline');
// is available?
if (data !== null && data.servers !== null && data.servers[0].status === 1) {
mode = "Online";
$('.status').removeClass('offline').addClass('online');
}
// Extract data from received JSON string is exists
extractData(data);
// set needed attributes
$('.status')
.attr('label', mode)
.text('Servers are ' + mode);
});
}
实时演示尝试数据。服务器[0]。状态而不是数据[0]。状态。它成功了!非常感谢@Shant,我想如果我想使用第二部分{“名称”:“死亡之翼”,“鼻涕虫”:“死亡之翼”,“构建”:“13623”,“状态”:1}而不是数据。服务器[0]。状态我将不得不使用数据。服务器[1]。状态我已经更正了我回答中的代码片段,很高兴听到您的问题得到解决。你能接受我的回答吗?
// check server status
function checkStatus()
{
$.getJSON(server_url, function(data) {
// reset
var mode = "Offline";
$('.status').removeClass('online').addClass('offline');
// is available?
if (data !== null && data.servers !== null && data.servers[0].status === 1) {
mode = "Online";
$('.status').removeClass('offline').addClass('online');
}
// Extract data from received JSON string is exists
extractData(data);
// set needed attributes
$('.status')
.attr('label', mode)
.text('Servers are ' + mode);
});
}