Как получить свойство из модели JSON, заполненной oData?


1 принят

Если у вас есть массив объектов, вы можете получить массив свойств из каждого из этих объектов, используя функцию Array.map () .

Итак, в вашем случае:

var aResults = this.getView().getModel().getProperty("/results");
var aBuspartner = aResults.map(function (r) { return r.Buspartner});
var oJSONModel = new sap.ui.model.json.JSONModel();
oJSONModel.setProperty("/resultarray", aBuspartner)

1

Пожалуйста попробуйте:

var aResults = this.getView().getModel().getProperty("/results");
var oJSONModel = new sap.ui.model.json.JSONModel();
oJSONModel.setProperty("/resultarray",new Array())
for(var i = 0; i<aResults.lenght;i++){ 
    oJSONModel.getProperty("/resultarray").push(aResults[i].Buspartner) 
}

1

Вы также можете попробовать добавить фильтр и выбрать файл oData.read

URL-адрес oData http://services.odata.org/V2/Northwind/Northwind.svc/Products выбирает весь Продукт со всеми их свойствами

http://services.odata.org/V2/Northwind/Northwind.svc/Products?$filter=UnitsInStock%20eq%2017

показывает только Продукты с "UnitsInStock = 17"

http://services.odata.org/V2/Northwind/Northwind.svc/Products?$select=ProductID&$filter=UnitsInStock%20eq%2017

выбирает только ProductID продуктов с "UnitsInStock = 17"

так

oODataModel.read("/ConnObjSet?$select=Buspartner&$filter=Objecttype eq 'CONNOBJ' and ConnObject eq '20000000002'"
...

должен получить фильтрованный Buspartners напрямую.

JSON, связывания данных, OData, sapui5,

json,data-binding,odata,sapui5,

0

Ответов: 3


1 принят

Если у вас есть массив объектов, вы можете получить массив свойств из каждого из этих объектов, используя функцию Array.map () .

Итак, в вашем случае:

var aResults = this.getView().getModel().getProperty("/results");
var aBuspartner = aResults.map(function (r) { return r.Buspartner});
var oJSONModel = new sap.ui.model.json.JSONModel();
oJSONModel.setProperty("/resultarray", aBuspartner)

1

Пожалуйста попробуйте:

var aResults = this.getView().getModel().getProperty("/results");
var oJSONModel = new sap.ui.model.json.JSONModel();
oJSONModel.setProperty("/resultarray",new Array())
for(var i = 0; i<aResults.lenght;i++){ 
    oJSONModel.getProperty("/resultarray").push(aResults[i].Buspartner) 
}

1

Вы также можете попробовать добавить фильтр и выбрать файл oData.read

URL-адрес oData http://services.odata.org/V2/Northwind/Northwind.svc/Products выбирает весь Продукт со всеми их свойствами

http://services.odata.org/V2/Northwind/Northwind.svc/Products?$filter=UnitsInStock%20eq%2017

показывает только Продукты с "UnitsInStock = 17"

http://services.odata.org/V2/Northwind/Northwind.svc/Products?$select=ProductID&$filter=UnitsInStock%20eq%2017

выбирает только ProductID продуктов с "UnitsInStock = 17"

так

oODataModel.read("/ConnObjSet?$select=Buspartner&$filter=Objecttype eq 'CONNOBJ' and ConnObject eq '20000000002'"
...

должен получить фильтрованный Buspartners напрямую.

JSON, связывания данных, OData, sapui5,
Похожие вопросы