#json #extjs
#json #extjs
Вопрос:
У меня есть ответ JSON, подобный этому
"{"total":1,"userBeanId":300,"list":[{"errors":[],"success":true,"liferayUserId":31503,"companyId":null,"groupId":null,"locale":null,"status":null,"liferayUserGroupId":null,"idProvider":null,"idClient":null,"userType":4,"userId":200,"email":"xpto@gmail.com","telefone":"999999999","nome":"MYNAME","role":"MY_ROLE","perfil":"Administrator","lastName":null}],"success":true}"
и у меня есть хранилище, которое считывает содержимое списка, например
"Ext.define('
MYPROJECT.store.Profiles', {
extend: 'Ext.data.Store',
model: 'MYPROJECT.model.Profile',
autoLoad: true,
pageSize: 10,
remoteSort: true,
remoteFilter: true,
proxy: {
type: 'ajax',
api: {
read: '/delegate/rlapi-common/profile/list'
},
enablePaging: true,
reader: {
type: 'json',
root: 'list',
successProperty: 'success'
}
}
});"
и хранилище успешно «считывает» список. Тем не менее, я хотел бы также иметь доступ к полю «userBeanId». Есть ли какой-либо способ получить к нему доступ с помощью этого хранилища (изменив корень на что-то на верхнем уровне)? Меня это смущает, поскольку хранилище «сопоставляется» с моделью, а идентификатор пользователя не вписывается в модель.
Модель:
Ext.define('MYPROJECT.model.Profile', {
extend: 'Ext.data.Model',
fields: [
'userId',
'nome',
'telefone',
'email',
'role',
'perfil'
],
});
Комментарии:
1. «Я бы хотел также иметь доступ к полю «userBeanId»» откуда, плюс можете ли вы также показать свою модель
2. Сообщение обновлено с помощью модели
Ответ №1:
Вы можете store.proxy.reader.rawData
получить доступ к самому последнему загруженному JSON. Как вы предположили, не имеет смысла быть частью модели, но вы можете прочитать дополнительную метаинформацию через reader.
Комментарии:
1. Спасибо. Для людей, которые разделяют те же сомнения, для получения дополнительной информации, пожалуйста, обратитесь к all-docs.info/extjs4/docs/source/JsonReader.html .
2. В моем случае var userBeanId = store.proxy.reader.RawData.userBeanId;