SAP WebIDE oData JSON对象与字符串

时间:2018-07-05 14:10:36

标签: arrays json odata sapui5

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

有人可以和我分享一些有关JSON对象和数组的想法吗? 以及如何从后端系统以数组而不是对象的形式获取数据?

在模拟数据版本中,我这样做来定义模型:

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

oData as array

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

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

oData as Objects

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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

			var oModel = new sap.ui.model.odata.v2.ODataModel(url, true);	
					that=this;
					 oModel.read( "/Products", {
						urlParameters: { 
							"$skip": 0,
							"$top": 50
						},
						success: function( oData) {	
							//here oData shall have an array of objects "results"
          
**-------------Set the model here using this array -> results ------**
							
						},
						error: function(oError) {
							alert("error");
						}
					});

但是,我对这种解决方案并不感到骄傲,并将检查我是否可以发表更好的评论。