Связывание данных JSON в UBSING - PullRequest
0 голосов
/ 24 марта 2012

У меня есть такие данные в формате json

{"GetStudentDetails":
    {"TotalCount":5,
    "RootResults":[
    {"city":"West Chester","country":"USA","state":"PA ","student_id":100},
    {"city":"Philly","country":"USA","state":"PA","student_id":101},
    {"city":"Buffalo","country":"USA","state":"NY","student_id":102},
    {"city":"Naigra City","country":"USA","state":"NY","student_id":103},
    {"city":"West Chester","country":"USA","state":"PA","student_id":104}]
    }
}

Как получить эти данные в магазине?я пытаюсь использовать такую ​​модель.

Ext.define('User', {
                extend: 'Ext.data.Model',
                fields: [
                    { type: 'string', name: 'TotalCount' }
                ],
                hasMany: [{ model: 'RootResults', name: 'RootResult'}]
            });

            Ext.define("RootResults", {
                extend: 'Ext.data.Model',
                fields: [
                    { type: 'string', name: 'city' },
                    { type: 'string', name: 'country' },
                    { type: 'string', name: 'state' },
                    { type: 'string', name: 'student_id' }
                ],
                belongsTo: 'User'
            });

            var store = Ext.create('Ext.data.Store', {
                model: 'User',
                proxy: {
                    type: 'ajax',
                    url: 'users.json',
                    reader: {
                        type: 'json'
                    }
                }
            });

Какой должна быть моя модель?когда я даю более простой JSON, я загружаю магазин.я думаю, что проблема с отображением?

1 Ответ

1 голос
/ 24 марта 2012

Определить модель как

Ext.define("RootResults", {
                extend: 'Ext.data.Model',
                fields: [
                    { type: 'string', name: 'city' },
                    { type: 'string', name: 'country' },
                    { type: 'string', name: 'state' },
                    { type: 'string', name: 'student_id' }
                ],
            });

И в определение считывателя добавить два параметра:

root: 'GetStudentDetails.RootResults'
totalProperty: 'GetStudentDetails.TotalCount'

Что-то в этом роде ... Основная идея - не пытаться использовать внутренний JSONструктура вашей модели - читатель должен правильно ее проанализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...