Javascript 如何从AngularJS中的太数组json获取信息
我有一个JSON文件,它有两个数组,其中包含一些我想在AngularJS网站上访问的数据。现在我只想从2个数组中得到一个对象 JSON数据Javascript 如何从AngularJS中的太数组json获取信息,javascript,angularjs,arrays,json,Javascript,Angularjs,Arrays,Json,我有一个JSON文件,它有两个数组,其中包含一些我想在AngularJS网站上访问的数据。现在我只想从2个数组中得到一个对象 JSON数据 [ { "DailyForecasts": [ { "key": "32.48,44.46", "class": "forecast", "validDate": 1484236800, "maxTemp": 17, "minTemp": 3,
[
{
"DailyForecasts": [
{
"key": "32.48,44.46",
"class": "forecast",
"validDate": 1484236800,
"maxTemp": 17,
"minTemp": 3,
"precip_type": "rain",
"day": {
"humid": 34,
"wSpeed": 20,
"wDir": 297,
"pop": 0,
"uv": 2,
"icon": 34,
"wDirText": "غرب-شمال غ",
"phrase": "مشمس بصورة كلية",
"bluntPhrase": "",
"precip_type": "rain",
"snwAccumPhrase": "",
"snwAccumPhraseTerse": "",
"extQual": "",
"weatherCode": "3400"
},
"night": {
"humid": 64,
"wSpeed": 20,
"wDir": 297,
"pop": 0,
"uv": 0,
"icon": 33,
"wDirText": "غرب-شمال غ",
"phrase": "صافي بصورة كلية",
"bluntPhrase": "",
"precip_type": "precip",
"snwAccumPhrase": "",
"snwAccumPhraseTerse": "",
"extQual": "",
"weatherCode": "3300"
}
},
{
"key": "32.48,44.46",
"class": "forecast",
"validDate": 1484323200,
"maxTemp": 17,
"minTemp": 5,
"precip_type": "rain",
"day": {
"humid": 48,
"wSpeed": 14,
"wDir": 287,
"pop": 0,
"uv": 3,
"icon": 32,
"wDirText": "غرب-شمال غ",
"phrase": "مشمس",
"bluntPhrase": "",
"precip_type": "rain",
"snwAccumPhrase": "",
"snwAccumPhraseTerse": "",
"extQual": "",
"weatherCode": "3200"
},
"night": {
"humid": 67,
"wSpeed": 14,
"wDir": 287,
"pop": 10,
"uv": 0,
"icon": 31,
"wDirText": "غرب-شمال غ",
"phrase": "صافي",
"bluntPhrase": "",
"precip_type": "rain",
"snwAccumPhrase": "",
"snwAccumPhraseTerse": "",
"extQual": "",
"weatherCode": "3100"
}
}
]
}
]
控制器代码
app.controller('Hillahctlr', function($scope, $http, wind, arrivecss, windname, icons) {
$scope.wind_dir = wind;
$scope.icons = icons;
$scope.arrivecss = arrivecss;
$scope.windname = windname;
var service_url = "/key=e88d1560-a740-102c-bafd-001321203584&units=m&locale=ar&cb=JSON_CALLBACK";
$http.jsonp(service_url)
.success(
function(data) {
console.log(data);
yData = data.HourlyForecasts;
$scope.ali = [];
for (var i = 0; i < 9; i++)
{
$scope.ali[i] = {
dayes: yData[i].temp,
};
}
})
})
}
app.controller('Hillahctlr',函数($scope,$http,wind,arrivecss,windname,icons){
$scope.wind_dir=风;
$scope.icons=图标;
$scope.arrivecss=arrivecss;
$scope.windname=windname;
var service_url=“/key=e88d1560-a740-102c-bafd-001321203584&units=m&locale=ar&cb=JSON_回调”;
$http.jsonp(服务url)
.成功(
功能(数据){
控制台日志(数据);
yData=data.hourlyforecast;
$scope.ali=[];
对于(变量i=0;i<9;i++)
{
$scope.ali[i]={
dayes:yData[i].温度,
};
}
})
})
}
并使用ng repeat在该数组中循环,但这对我不起作用,这是代码:
HTML
<div class="ForecastArea-Day Last weatherteble" ng-repeat="alis in dayes">
{{alis.dayes}}
</div>
{{alis.dayes}
我收到此错误:错误:未定义yData
请提供帮助?尝试此操作
var alis = [];
alis = {dayes: yData[i].temp,};
$scope.ali = ali;
<div class="ForecastArea-Day Last weatherteble" ng-repeat="alis in ali.dayes">
{{alis.day}}
</div>
var-alis=[];
alis={dayes:yData[i].temp,};
$scope.ali=ali;
{{alis.day}
使用yData=data[0]。小时预测代码>。JSON以[{“DailyForecast”:[
开头,这意味着它是一个对象数组
工作很好谢谢,对象日在HourlyForecasts
当运行getyData[i]时,日期
是未定义的
看到我的短代码了吗
yday = data[0].DailyForecasts;
$scope.daily = [];
for(var i=0; i<9; i++) {
$scope.daily[i] = {maxTemp: yData[i].maxTemp,
minTemp: yData[i].minTemp,
validDate: yData[i].validDate,
icon: yData[i]day.icon, };
}
还要确保将yday
声明为变量:
//yday = data[0].DailyForecasts;
var yday = data[0].DailyForecasts;
如果没有var
声明,它将处理全局命名空间。您在哪里定义了HourlyForecasts
?是的,请参见更新,数据。HourlyForecasts您的数据没有定义HourlyForecasts您可以通过console在浏览器上登录数据对象吗。log(数据)要检查datayData的正确结构是否应声明为$scope.yData=data.HourlyForecasts;或var-yData=data.HourlyForecasts;错误:我未定义
工作正常,谢谢,当我尝试这样做时,对象day
在HourlyForecasts
.HourlyForecasts.day;
运行时获取yData[i]。day未定义
请参阅我的简短代码yday=data[0]。DailyForecasts;$scope.daily=[];for(var i=0;i
//yday = data[0].DailyForecasts;
var yday = data[0].DailyForecasts;