这是我的JSON文件:
{
"query":{
"count":1,
"created":"2016-06-16T21:09:11Z",
"lang":"en-US",
"results":{
"channel":{
"units":{
"distance":"mi",
"pressure":"in",
"speed":"mph",
"temperature":"F"
},
"title":"Yahoo! Weather - Ormond Beach, FL, US",
"link":"http://us.rd.yahoo.com/dailynews/rss/weather/Country__Country/*https://weather.yahoo.com/country/state/city-2466336/",
"description":"Yahoo! Weather for Ormond Beach, FL, US",
"language":"en-us",
"lastBuildDate":"Thu, 16 Jun 2016 05:09 PM EDT",
"ttl":"60",
"location":{
"city":"Ormond Beach",
"country":"United States",
"region":" FL"
}
}
}
}
}
这不是所有代码,但它是我遇到问题的部分。
我正在尝试将位置(Ormond Beach, Fl
)保存为变量。我正在使用这个angularjs代码,它似乎不起作用:$scope.location = response.data.query.results.location;
。 JSON文件没有任何问题,因为我稍后使用ng-repeat
在JSON文件中检索了其他信息,但是,我将Ormond Beach
保存为变量$scope.location
时遇到问题。请帮我!
非常感谢!
答案 0 :(得分:0)
response.data.query.results.location
不是字符串,它是一个对象,每个字符串都有3个属性:
{
"city":"Ormond Beach",
"country":"United States",
"region":" FL"
}
您需要连接所需的属性:
$scope.location = response.data.query.results.location.city + ', ' + response.data.query.results.location.region;
为了好玩,我会向您展示我喜欢用于此类事情的表单:
$scope.location = [
response.data.query.results.location.city,
response.data.query.results.location.region
].join(', ');
它帮助我非常清楚地看到哪些数据正在进入。
答案 1 :(得分:0)
位置和结果之间有一个中间对象,即通道。
尝试改为:
$scope.location = response.data.query.results.channel.location;
然后你只需要连接location.city和location.region