Как мне прочитать файл JSON с циклом и вставить переменные в локатор? - PullRequest
0 голосов
/ 27 марта 2019

Я хочу знать, как вставить переменную в адрес для чтения файла JSON.поддерживается как что-то вроде этого.но это не работает.первая часть работает, но это пример того, как это должно работать.рабочая часть называется «workingMarketCap»

<!DOCTYPE html>
<html>
    <body>
    </body>

    <!--============================ SCRIPT ============================ -->
    <script>
        //Variables
        var myRequest = new XMLHttpRequest(); 
        var watchList = ["AAPL", "FB", "GOOGL", "MSFT"];
        var urlList = watchList.join(',');

        //IEX API requests open and send
        myRequest.open ('GET', `https://api.iextrading.com/1.0/stock/market/batch?symbols=${urlList}&types=quote`) //use API function "GET" to recieve data
        myRequest.send()

        //On the load of the data
        myRequest.onload = function(){
            var IEXData = JSON.parse(myRequest.responseText); //var IEXData converts JSON response to readable data for this code
            readData(IEXData, watchList); //output it into this HTML file         
        }

        /*
        =======================
            FUNCTIONS
        =======================
        */
        function readData(data, list) {
            for(var i = 0; i < 3; i++) {
                var workingMarketCap = data.AAPL.quote.marketCap;

                console.log(workingMarketCap);

                /* Does not work VVV */
                var marketCap = data.`${list[i]}`.quote.marketCap;

                console.log(marketCap);
            }
        }
    </script>
</html>

1 Ответ

0 голосов
/ 27 марта 2019

Вы можете изменить свою функцию на:

function readData(data, list) {
  for (var i = 0; i < list.length; i++) {
    var workingMarketCap = data.AAPL.quote.marketCap;
    console.log(workingMarketCap);

    var marketCap = data[list[i]].quote.marketCap;
    console.log(marketCap);
  }
}
...