2015-05-27 60 views
1

我希望在我的json對象中有一個名爲idField的屬性。現在,如果該屬性包含多個元素,則該屬性可以是一個數組,也可以是隻包含一個元素的對象。我希望從extjs存儲中的數據創建這樣一個屬性。實質上,如果商店只包含一個元素,我需要在json對象中插入這個idField'object',否則我需要在json對象中插入一個名爲idField的'數組'。請告知如何做到這一點。將數組添加到extjs中的json對象

編輯:

我的店裏有2列,即 '名稱',並在其數據 '類型'。我想的是,如果它僅包含一個元素,然後我的對象應該是這樣的:

{ 
    ... 
    idField : { 
     name : ... 
     type : ... 
    } 
} 

如果我的存儲包含2行,然後我的對象應該是這樣的:

{ 
    ... 
    idField : [ 
    { 
     name : ... 
     type : ... 
    }, 
    { 
     name : ... 
     type : ... 
    } 
    ] 
} 

我也有在對象中插入這個idField屬性。對象中還沒有正確的idField屬性。

編輯2:

我在控制檯收到此對象時,我寫了console.log(Ext.getStore("My_store_name").data)

回答

2

您可以通過EXT JS存儲中的數據

var data = Ext.getStore("Your_Store_Name").data 

在我的下面的代碼片斷我假設你喜歡從字段名稱cal得到值領導項目。

var data = Ext.getStore("Your_Store_Name").data 
//imagine your JSON where you need to store is in variable myJSON 
if (data.items.length == 1){ 
myJSON.idField = {type: 'sometype', name: data.item[0]} } 
else if (data.item.length > 1) 
{ //make an array of JSON 
var list = []; 
for(var i = 0; i < data.item.length; i++) 
{ 
list.push({type: 'sometype', name: data.item[i]}) 
} 
myJSON.idField = list; //set the array 
} 
+0

嗨,感謝您的幫助。我已更新該帖子。你的方法不適用於我的情況,因爲我還沒有任何idField屬性。我需要根據商店中元素的數量插入一個對象或數組 –

+0

好的,你可以去你的瀏覽器控制檯:這個 Ext.getStore(「Your_Store_Name」)。你可以粘貼一個代碼片段。 – Cyril

+0

我已經發布我在控制檯 –