Цель. Чтобы собрать данные JSON из API прогнозов, а затем прочитать свойство JSON precipIntensity в течение указанного количества дней, этот код начинается с трех. Поскольку это требует последовательного выполнения ряда шагов, постарайтесь разобраться во всем коде.
Моя основная проблема заключается в попытке назвать возвращаемые кодовые страницы JSON, а затем поместить их в другой контекст для чтения свойства precipIntensity.
Вкратце: обратная дата получает время UNIX, а затем запрашивает API для каждого прогнозируемого дня. Затем API помещаются в массив. Массив помещается в цикл for() для запроса каждого сценария JSON... (что теперь делать? Я хотел бы иметь возможность читать каждый или что-то вычислять, но я не знаю, как запросить отформатированный код. Я можно сделать оставшуюся часть). Образец JSON можно найти в другом моем сообщении... https://stackoverflow.com/questions/29949454/store-json-api-object-data-and-reuse-it (я обнаружил, что сервер API хранит данные для меня... решено) EDITED с 5 /1/15:
//Get the back dated times and current in UNIX,
//later make a lookup that gives datediff from current date and user's date and adjust index i condition to equal exact days.
var totalPrecipSinceDate;
var threeDayAPITimes = [];
for (var i = 0; i <= 2; i++) //place user userData-1 where i <= input
{
var myDate = new Date(); //https://stackoverflow.com/questions/7693170/javascript-convert-from-epoch-string-to-date-object
var epoch = myDate.getTime(); //1318023197289 number of ms since epoch
var unixEpoch = Math.round(epoch/1000)
threeDayAPITimes[i] = Math.round(unixEpoch - (86400 * i));
/*
var epoch = (DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
threeDayAPITimes[i] = Math.round(epoch - (86400 * i));
*/
}
//Plan to convert UNIX dates to display
//List of locations: LATITUDE,LONGITUDE
var locations = ["46.3494,-85.5083"]
var currentAPIKey ="privateAPIKey"; //gets an APIkey from user from forecaster input.
var listAPIs = "";
$.each(threeDayAPITimes, function(i, time) {
var darkForecastAPI= "https://api.forecast.io/forecast/" + currentAPIKey + "/" + locations + "," + time;
$.getJSON(darkForecastAPI, {
tags: "WxAPI[" + i + "]", //Is this tag the name of each JSON page? I tried to index it incase this is how to refer to the JSON formatted code from the APIs.
tagmode: "any",
format: "json"
}, function(result) {
// Process the result object
});
});
//Process result in foreach loop
var eachPrecipSum = 0;
if(result.currently.precipIntensity >=0 && result.currently.precipType == "rain")
{
$.each(result, function() {
eachPrecipSum += (this.currently.precipIntensity);
totalPrecipSinceDate += eachPrecipSum ;
});
}
alert(eachPrecipSum );
ask for the formatted code
? - person charlietfl   schedule 01.05.2015listAPIs
— это строка. Почему вы используетеlistAPIs.length
в качестве ограничения циклаfor
? Это общее количество символов во всех объединенных URL-адресах. Кроме того, это должно бытьlength
, а неLength
. - person Barmar   schedule 01.05.2015});
перед})();
. - person Barmar   schedule 01.05.2015for
вы переназначаетеdarkForecastAPI
. Когда цикл завершится, переменная будет содержать последнее назначенное вами значение, а второй цикл продолжит отправку на этот URL-адрес. - person Barmar   schedule 01.05.2015darkForecastAPI
сlistAPIs
. - person Barmar   schedule 01.05.2015for
. Сначала вы устанавливаетеdarkForecastAPI
, затем вызываете на нем$.getJSON
. Кроме того, если вы хотите что-то сделать с JSON, вам нужна функция обратного вызова, которая его обрабатывает. - person Barmar   schedule 01.05.2015$.getJSON
. Он получает проанализированный ответ JSON в качестве аргумента. Это объясняется в документации jQuery. Любое руководство по использованию AJAX с jQuery должно объяснять это. - person Barmar   schedule 01.05.2015listAPIs
не является объектом массива или списком. Это строка:var listObj = ""
. - person Barmar   schedule 01.05.2015double[] threeDayAPITimes = new double[3];
? Это не Javascript, похоже, это Java. - person Barmar   schedule 01.05.2015