-2

重複の可能性:
Sencha Touch JSON フォーマット

Sencha Touch アプリケーションに解析したい次の JSON ファイルがあります。どのタイプの「ストア」(ストア、JsonStore、ArrayStore など) を使用するのか、「フィールド」の設定がどのようになるのかわかりません。配列内の各「データポイント」は、xValue および yValue として格納する必要があります。個々のタグなしでこれらのポイントを読み取る方法がわかりません...

[{"target": "stats.server1", "datapoints": [[22, 34], [99, 12], [13, 15], [56, 12], [34, 2], [13, 23], [23, 34], [55, 88]]},{"target": "stats.server2", "datapoints": [[22, 34], [99, 12], [13, 15], [56, 12], [34, 2], [13, 23], [23, 34], [55, 88]]}]

どんな助けでも大歓迎です!

4

1 に答える 1

6

次のコードは Ext JS 4.1 用ですが、私の知る限り、Touch 2 のデータ フレームワークは同じです。

// A reader defines how to process incoming data.
Ext.define('My.PointsReader', {
    extend: 'Ext.data.reader.Json',
    alias: 'reader.points',
    getData: function(data) {       // overriding
        data = this.callParent(arguments);
        var result = [];
        Ext.each(data, function(entry) {
            Ext.each(entry.datapoints || [], function(point) {
                result.push({
                    xValue: point[0], yValue: point[1],
                    target: entry.target
                });
            });
        });
        return result;
    }
});

// A store is always Ext.data.Store (or TreeStore, for trees).
// But its proxy, reader and writer can be customized.
var store = Ext.create('Ext.data.Store', {
        fields: ['xValue', 'yValue', 'target'],
        proxy: {
            type: 'ajax',
            url: 'test.json',
            reader: 'points'
        }
    });

store.load();
于 2012-06-22T16:26:59.447 に答える