2017-01-03 48 views
0

我有一个JSON模型/ 4个对象的细节。我想要基于关键字的对象:月。如何获取数组中的单个对象到JSON模型

Object 
    oData 
    details: 
    Array[4] 
    0:Object 
    1:Object 
    2:Object 
    3:Object 
    editable:false 
    key:"date" 
    removeable:false 
    value:"Day: TRUE, Night:False" 
    4:Object 
    editable:false 
    key:"month" 
    removeable:false 
    value:"August" 

以下是代码

/视图

var viewModel = that.getView().getModel(); 
var viewModelData = viewModel.getData(); 
+0

遍历数组中的对象查找关键月份 –

+0

使用对象很容易。检查这个链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects –

+0

看看这个jQuery的grep方法:http://stackoverflow.com/questions/21172289/filtering- ajson-array-using-jquery-grep –

回答

1

不能直接查询的对象。您必须循环搜索,如下所示:

var viewModel = that.getView().getModel(); 
var viewModelData = viewModel.getProperty("/details"); 
var month = getObjectByKey(viewModelData, "month"); 

function getObjectByKey(a, key){ 
    for(var i = 0; i < a.length; i++){ 
    if (a[i].key === key){ 
    return a[i]; 
    } 
    return null; 
} 
+0

我使用属性获取模型,但是我无法绑定it.sap.m.Table({columns:[ new sap.m.Column({header新sap.m.Text({ 文字: '关键',。 })} )], 项目:{ 路径: '/详细信息', 模板:新sap.m.ColumnListItem({ 细胞:[ 什么应该是绑定到表的路径 – learningUser

+0

你想实现什么?你想要一个表,每个细节对象作为显示其键和值的行?或者你想显示表中的key =“month”对象中包含的数组吗? – schnoedel

+0

我想显示每个具有key =“month”的细节对象作为显示其键和值的行 – learningUser