序列化Ext.data.JsonStore内容

时间:2011-02-24 09:03:42

标签: serialization extjs

如何序列化JsonStore内容?我尝试了Ext.encode(store.data.items),但它抛出了一个“太多递归”的异常。

2 个答案:

答案 0 :(得分:2)

这是一个应该有效的快速功能

function(store) {
    if(typeof(store) != 'object') { return ''; }
    var dataArray = [];
    var encodedData = '';
    var data = store.data.items;
    Ext.each(data, function(item, index, array) {
        dataArray.push(item.data); 
    });
    return Ext.encode(dataArray);
},

答案 1 :(得分:0)

这是另一个在商店本身使用each()功能的选项。

function getEncodedStoreItems(storeName) {
    var encodedData = "";
    if (typeof storeName !== "undefined") {
        var store = Ext.data.StoreManager.lookup(storeName);
        if (store != null) {
            var data = [];
            store.each(function(item, index, count) {
                data.push(item.data);
            });
            encodedData = Ext.encode(data);
        }
    }
    return encodedData;
}