Распарсить api
Добрый день! Помогите, пожалуйста, распарсить api(любое) с помощью этих функций, вот пример. Не понимаю....Можно любое api, помогите :(
|
KATRIN1786492
а в чем проблема? <div id="data"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(document).ready(function () { var renderData = function(){ $.getJSON("https://api.icndb.com/jokes/random/10", function(data){ console.log(data) // просто выводим в консоль полученный Json }); } renderData(); var my_getJSON = function(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('get', url, true); xhr.responseType = 'json'; xhr.onload = function() { var status = xhr.status; if (status == 200) { resolve(xhr.response); } else { reject(status); } }; xhr.send(); }); }; var i=0; my_getJSON('https://api.icndb.com/jokes/random/10').then( function(data) { var end=data.value.length;var datum=document.getElementById("data"); for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data.value[i].joke;}; }, // resolve function(status) {alert('Something went wrong.');} // reject ); }) </script> |
оно все работает, Все хорошо, но это пример, мне нужно распарсить какой-то свое api, использую эти функции, а я не понимаю как(
|
KATRIN1786492,
Цитата:
|
я пробовала парсить это, но у меня не получилось ( https://api.opendota.com/api/proMatches
|
вот так я пробовала
$(document).ready(function () { var renderData = function(){ $.getJSON("https://api.opendota.com/api/proMatches", function(data){ console.log(data) // просто выводим в консоль полученный Json }); } renderData(); var my_getJSON = function(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('get', url, true); xhr.responseType = 'json'; xhr.onload = function() { var status = xhr.status; if (status == 200) { resolve(xhr.response); } else { reject(status); } }; xhr.send(); }); }; var i=0; my_getJSON('https://api.opendota.com/api/proMatches').then( function(data) { var end=data.value.length;var datum=document.getElementById("data"); for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data.value[i];}; }, // resolve function(status) {alert('Something went wrong.');} // reject ); }) |
<div id="data"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(document).ready(function () { var renderData = function(){ $.getJSON("https://api.opendota.com/api/proMatches", function(data){ console.log(data) // просто выводим в консоль полученный Json }); } renderData(); var my_getJSON = function(url) { return new Promise(function(resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open('get', url, true); xhr.responseType = 'json'; xhr.onload = function() { var status = xhr.status; if (status == 200) { resolve(xhr.response); } else { reject(status); } }; xhr.send(); }); }; var i=0; my_getJSON('https://api.opendota.com/api/proMatches').then( function(data) { var end=data.length;var datum=document.getElementById("data"); for(i=0;i<end;i++) {datum.innerHTML += "<br>"+i+")"+data[i].league_name;}; }, // resolve function(status) {alert('Something went wrong.');} // reject ); }) </script> |
вы получается кусочек парсите, а подскажите, пожалуйста, как все эти пункты распарсить и чтобы они в одном списке были?
![]() |
KATRIN1786492,
Объекты |
Проще будет использовать что-то типа такого:
<html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> </head> <body> <div id="result"></div> <script> // Получаем массив $(document).ready(function(){ $.getJSON('https://api.opendota.com/api/proMatches', my_getJSON); // вызываем callback-функцию }); // парсим массив data function my_getJSON(data) { "use strict"; // сюда будем пихать результат let str = ''; for (let a = 0; a < data.length; a++) { str += data[a].radiant_name + ' VS ' + data[a].dire_name + '<br>'; } // выводим результат $("#result").html(str); } </script> </body> </html> |
Часовой пояс GMT +3, время: 18:25. |