2014-01-09 93 views
0

我正在使用來自知名旅遊公司的API,並且遇到此問題。Angularjs:處理變化的json響應

問題是對roomAvailability的響應。

現在,如果某家酒店只有一個Room Type,這將其作爲一Room對象,而不是將其作爲一個數組,否則,如果有多個將派Room Types在我的模板

現在,我有一個ng-repeat像:

<div ng-repeat='room in Rooms'>
Do some stuff like room.RoomType
</div>

現在發生的是,當Room不是數組時,ng-repeat失敗,因爲它不會遍歷array房間。

現在我可以做的是有一個範圍變量canIterate並重復我的標記中的代碼。

但是有沒有更好的方法,以便我可以避免在標記中重複的代碼?

+0

你可以給我們一個片段的兩個JSON響應時,它的數組和對象,只是片段。 – dcodesmith

回答

0

在將其放入$ scope.Rooms之前檢查HTTP響應。如果響應有字段RoomType,則聲明$ scope.Rooms = [response];否則$ scope.Rooms = response;

+1

同意。如何檢查響應是否是一個數組 - > http://stackoverflow.com/questions/767486/how-do-you-check-if-a-variable-is-an-array-in-javascript –