如果响应中只有一个元素,我有一个API可以返回单个JSON对象,如果响应中有多个元素,则返回一个对象数组。
我可以使用javascript控制器简单地使它总是一个数组,即使只有一个对象,并使用ng-repeat循环遍历数组,但问题是我在JSON的某些属性中有相同的问题对象也是。
我不想更改数据的JSON结构,我可能需要它们通过API更新记录,所以我一直在寻找一种方法来处理Angular 1.x.
是否有一种简单的角度来显示数据,无论它只是一个对象还是一个对象数组?
答案 0 :(得分:0)
没有简单的方法可以做到这一点。如果将一个对象转换为控制器中的数组,则更简单:
getSomething(...).then(res => res.length ? res : [res])
.then(resArr => $scope.somethings = resArr);
答案 1 :(得分:0)
我认为你必须修改你要回复的回复。否则,您将不得不在视图逻辑中分散许多笨拙的逐案检查。
您可能需要在控制器和API之间使用服务层来“转换”JSON数据。因此,在请求数据时,它将循环遍历响应并将所有单个对象包装在数组中。
然后,当将数据发布到API时,它将再次循环返回并从单个对象中删除数组包装。