如何将整个网站转换为可以使用javascript解析的字符串?

时间:2019-03-11 03:32:28

标签: javascript json string api parsing

因此,我正在为我的视频游戏服务器创建一个网站,并且我们的管理工具将当前服务器状态以.json格式输出到此url的巨大字符串中:

http://server.bandwidthbandits.org/api/status

我想从url中获取整个字符串并将其分配给var,因此我可以将JSON.parse()与从链接获取的字符串一起使用。换句话说,如何将上述整个网页转换成可以用javascript解析的长字符串?

我不知道该怎么做,但是我很确定一旦将JSON放入字符串中,我就可以解析它。

这是我认为可能有效的方法,但没有成功

loadListings(){
  var self = this;
  var app_id = "**********";
  var app_key = "**********";
  axios.get(
      "https://api.airtable.com/v0/"+app_id+"/Weekly%20Report?view=Main%20View",
      {
          headers: { Authorization: "Bearer "+app_key }
      }
  ).then(function(response){
    console.log(response.data.records);
    self.listings = response.data.records;
  }).catch(function(error){
    console.log(error)
  });
}

更新的代码:

p id="SERVERS">HELLO</p>

<script type="text/javascript"> 
    var txt = document.getElementsByTagName('http://server.bandwidthbandits.org/api/status')[0].innerHTML;
    var obj = JSON.parse(txt);
    document.getElementById("SERVERS").innerHTML = obj.name + ", " + obj.map + ", " + obj.gamemode + ", " + obj.players; 
    //more parsing necessary, but to tired to write full statement right now
</script>

更新的代码显示了我尝试执行的操作。由于将有多个服务器需要查询,因此我尝试将API提取到一个函数中。我面临的问题是,我不知道如何将Web上的API导入我知道如何解析的内容。如果我将API输出作为变量复制并粘贴到我的代码中,则可以使用,但是当我尝试使用Java脚本导入API时,则不能使用。

2 个答案:

答案 0 :(得分:0)

您需要从站点获取数据并使用Promise进行解析:

fetch("http://yourapi.com").then(function (data) {
    return data.json();
}).then(function (obj) {
    console.log(obj);
});

顺便说一句,您正在寻找的不是实际的网站。该API返回一个json字符串,由于浏览器实际上无法对其进行任何其他操作,因此它将以文本形式显示。

答案 1 :(得分:0)

您必须使用数据类型为application / Json的ajax调用来获得响应

或直接使用以下jquery方法:

 $.getJSON(url,function(data){
//Here you get json on data variable
});

但是请确保您的网址将返回json字符串。