Итак, я создаю веб-сайт для своих серверов видеоигр, и наш инструмент администратора выводит текущий статус сервера в виде .json в виде гигантской строки текста на этот URL:
http://server.bandwidthbandits.org/api/status
Я хочу взять всю строку из URL и присвоить ее переменной, чтобы я мог использовать JSON.parse () со строкой, полученной по ссылке. Другими словами, как мне преобразовать всю вышеупомянутую веб-страницу в длинную строку, которую я могу проанализировать с помощью javascript?
Я понятия не имею, как это сделать, но я почти уверен, что смогу разобрать JSON, как только он окажется в строке.
Я думал, что это может сработать, но это не так:
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>
ОБНОВЛЕННЫЙ КОД:
<p id="name">HELLO</p>
<p id="maxp">HELLO</p>
<p id="curp">HELLO</p>
<script type="text/javascript">
function FetchAPI(url) {
fetch(url).then(function (data) {
return data.json();
}).then(function (obj1) {
console.log(obj1);
});
}
var nukestats = FetchAPI("http://server.bandwidthbandits.org/api/status/340417768");
obj = JSON.parse(nukestats);
document.getElementById("name").innerHTML = 'Server name: ' + (obj[0].name);
document.getElementById("maxp").innerHTML = 'Max Players: ' + (obj[0].maxPlayers);
document.getElementById("curp").innerHTML = 'Current Players: ' + (obj[0].currentPlayers);
</script>
Обновленный код показывает, что я пытался сделать. Поскольку мне нужно будет запросить несколько серверов, я попытался сделать выборку API в функцию. Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как импортировать API из Интернета в то, что я умею анализировать. Если я копирую и вставляю выходные данные API в свой код как переменную, это работает, но это не работает, когда я пытаюсь импортировать API, используя java-скрипт.