Arrays 访问OData JSON模型模拟文件与SAP后端

Arrays 访问OData JSON模型模拟文件与SAP后端,arrays,json,odata,sapui5,Arrays,Json,Odata,Sapui5,我有一个用于测试本地JSON模拟数据的应用程序。oData对象包含具有值的数组,应用程序可以根据需要工作。 现在,我们正在从本地模拟数据文件切换到使用SAP后端系统中的oData服务的数据消耗。 在这里,我获取JSON对象中的数据,但并非所有功能都能按预期工作(示例过滤器函数) 有人能和我分享一些关于JSON对象和数组的想法吗? 如何从后端系统获取数组中的数据,而不是对象中的数据 在模拟数据版本中,我这样做是为了定义我的模型: this._oModel = new JSONModel(jQuer

我有一个用于测试本地JSON模拟数据的应用程序。oData对象包含具有值的数组,应用程序可以根据需要工作。 现在,我们正在从本地模拟数据文件切换到使用SAP后端系统中的oData服务的数据消耗。 在这里,我获取JSON对象中的数据,但并非所有功能都能按预期工作(示例过滤器函数)

有人能和我分享一些关于JSON对象和数组的想法吗? 如何从后端系统获取数组中的数据,而不是对象中的数据

在模拟数据版本中,我这样做是为了定义我的模型:

this._oModel = new JSONModel(jQuery.sap.getModulePath("myApplication", "/localService/mockdata/nodesSet.json"));

在oData版本中,模型在manifest.json中定义:

this._oModel = this.getOwnerComponent().getModel();

注意:我知道实体的不同名称(例如:nodes vs NodeSet),这不是问题的一部分


谢谢

一种简单的方法是不在清单中创建模型,而是在控制器中进行显式读取,如下所示:

var-oModel=new-sap.ui.model.odata.v2.ODataModel(url,true);	
那=这个;
oModel.read(“/Products”{
URL参数:{
“$skip”:0,
“$top”:50
},
成功:功能(oData){
//在这里,oData应具有一系列对象“结果”
**-------------使用此数组->结果在此处设置模型------**
},
错误:函数(oError){
警报(“错误”);
}

});什么不能完全与oData一起工作?为什么首先访问内部属性
oData
?为什么应用程序必须关心它是数组还是映射?如果整个应用程序是基于
oData
是一个数组的假设构建的,那么我担心切换到ODataModel(与JSONModel不同的服务器端模型)对您来说将是一项艰巨的任务。我不直接访问oData属性,但我认为这是我的工作版本和非工作版本之间的区别。不起作用的代码是:aItems=this.\u oModel.getData().nodes(或者在我的oData版本中是….nodeset)。