Sencha Touch - поместить переменную JSON в хранилище данных? - PullRequest
0 голосов
/ 04 февраля 2012

У меня есть переменная с JSON (это переменная, потому что я получил ее с помощью JQuery из локального файла ... в автономном режиме, так что это было необходимо). Во всяком случае, как мне получить его, чтобы это воспринималось как JSON внутри магазина?

Я попробовал следующее, но оно не загружается.

// jData is the variable with the JSON
var jData = loadJSON("sampledata.json");


Ext.regModel('myStore', {
fields: [
        {name:"Name",type:"string"},
        {name:"id",type:"int"}
        ]
});


var myStore = new Ext.data.Store({
model: 'myStore',
autoLoad: true,
 proxy: {
    data: jData,
    reader: {
        type: 'json'
    }
}});

JSON выглядит так: [{"Name": "High", "id": 1}, {"Name": "Medium", "id": 2}, {"Name": "Low", "id": 3}]

Я создаю приложение для Android и использую:

alert(jData);

Я получаю JSON отлично, но не могу понять, как поместить его в Магазин для использования в поле выбора

1 Ответ

1 голос
/ 04 февраля 2012

Есть несколько способов сделать это.Самый простой способ:

// jData is the variable with the JSON
var jData = loadJSON("sampledata.json");


Ext.regModel('myStore', {
fields: [
        {name:"Name",type:"string"},
        {name:"id",type:"int"}
        ]
});


var myStore = new Ext.data.Store({
    model: 'myStore',
    data: jData
});

Если это не работает, попробуйте следующее:

// jData is the variable with the JSON
var jData = loadJSON("sampledata.json");


Ext.regModel('myStore', {
fields: [
        {name:"Name",type:"string"},
        {name:"id",type:"int"}
        ]
});


var myStore = new Ext.data.Store({
    model: 'myStore',
    autoLoad: true,
        proxy: {
            type: 'ajax',
            url: 'sampledata.json',
            reader: {
                type: 'json'
            }
    }

});

Также см .: this

...