2017-01-03 82 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