因此,我正在为我的视频游戏服务器创建一个网站,并且我们的管理工具将当前服务器状态以.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时,则不能使用。
答案 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字符串。