Javascript 如何从API响应中提取部分JSON?

Javascript 如何从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("

这是我之前关于这个话题的问题

我的问题是,我使用的服务器api在列表中添加了一个新项,正如我在上一个问题中所述,我对api或jQuery不是很熟练,因此我想知道您能推荐我阅读哪些内容以及实际的解决方案。我需要使js使用的字段仅为{“name”:“Arthas”,“slug”:“Arthas”,“build”:“12340”,“status”:1},而不是其他字段

非常感谢

这是api->

这是我现在的js

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);
    });
}