首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从API响应中提取部分JSON?

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

Stack Overflow用户
提问于 2012-05-26 01:28:13
回答 2查看 780关注 0票数 0

Load when the browser is open

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

我的问题是,我使用的服务器应用程序接口添加了一个新的项目到列表中,正如我在上一个问题中所说的,我对应用程序接口或jQuery不是很熟练,因此我想知道你能推荐我读什么来了解这一点以及实际的解决方案。我需要让js使用的字段只有{"name":"Arthas","slug":"arthas","build":"12340","status":1},而不是其余的。

在此之前,非常感谢您。

这是-> http://api.neverendless-wow.com/server-status接口

代码语言:javascript
运行
复制
{"servers":[{"name":"Arthas","slug":"arthas","build":"12340","status":1},{"name":"Deathwing","slug":"deathwing","build":"13623","status":1}],"alerts":[]}

这是我现在的js

代码语言:javascript
运行
复制
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)
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-26 01:44:39

您需要使用data作为数组(data),因此您的代码将如下所示:

代码语言:javascript
运行
复制
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)
}
票数 1
EN

Stack Overflow用户

发布于 2012-05-26 15:37:33

我可能会这样说:

代码语言:javascript
运行
复制
// 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);
    });
}

实时演示available on JsBin

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10758869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档