Javascript angular JS中基于对象类型的数据表示

Javascript angular JS中基于对象类型的数据表示,javascript,angularjs,json,Javascript,Angularjs,Json,我有一个API,如果响应中只有一个元素,则返回一个JSON对象;如果响应中有多个元素,则返回一个对象数组 我可以使用javascript控制器简单地使其始终成为一个数组,即使其中只有一个对象,并使用ng repeat在数组中循环,但问题是,我在JSON对象的某些属性中也存在同样的问题 我不想改变数据的JSON结构,我可能需要它们通过API更新记录,所以我在Angular 1.x中寻找一种方法来处理这个问题 无论数据是一个对象还是一组对象,是否有一种简单的角度显示方法?没有简单的方法。如果将一个对

我有一个API,如果响应中只有一个元素,则返回一个JSON对象;如果响应中有多个元素,则返回一个对象数组

我可以使用javascript控制器简单地使其始终成为一个数组,即使其中只有一个对象,并使用ng repeat在数组中循环,但问题是,我在JSON对象的某些属性中也存在同样的问题

我不想改变数据的JSON结构,我可能需要它们通过API更新记录,所以我在Angular 1.x中寻找一种方法来处理这个问题


无论数据是一个对象还是一组对象,是否有一种简单的角度显示方法?

没有简单的方法。如果将一个对象转换为控制器中的数组,则更简单:

getSomething(...).then(res =>  res.length ? res : [res])
                 .then(resArr => $scope.somethings = resArr);

没有简单的方法可以做到这一点。如果将一个对象转换为控制器中的数组,则更简单:

getSomething(...).then(res =>  res.length ? res : [res])
                 .then(resArr => $scope.somethings = resArr);

我认为你必须修改你得到的回复。否则,您将不得不执行大量笨拙的、分散在视图逻辑中的逐案检查

在控制器和“转换”JSON数据的API之间可能需要一个服务层。因此,在请求数据时,它将递归地遍历响应,并将所有孤立的对象包装在数组中


然后,当将数据发布到API时,它将再次循环并从单独的对象中删除数组包装器。

我认为您必须修改返回的响应。否则,您将不得不执行大量笨拙的、分散在视图逻辑中的逐案检查

在控制器和“转换”JSON数据的API之间可能需要一个服务层。因此,在请求数据时,它将递归地遍历响应,并将所有孤立的对象包装在数组中


然后,当将数据发布到API时,它将再次循环并从单独的对象中移除数组包装器。

他说,
res
上通常有嵌套属性,它们的情况相同(可能是数组或对象)。这并不能解释这一点。他说,
res
上经常有嵌套属性,它们的情况相同(可能是数组或对象)。这不能解释这一点。