用sencha解析Json
我有这种json格式用sencha解析Json,json,extjs,Json,Extjs,我有这种json格式 [ { "docid": "1", "doc_title": "Dato' Dr.", "doc_name": "xyz", "doc_code": "001", "doc_category": "3", "doc_subcategory": "", "id": "0" }, { "docid": "1", "doc_title": "Dr.", "doc_name": "ABC
[
{
"docid": "1",
"doc_title": "Dato' Dr.",
"doc_name": "xyz",
"doc_code": "001",
"doc_category": "3",
"doc_subcategory": "",
"id": "0"
},
{
"docid": "1",
"doc_title": "Dr.",
"doc_name": "ABC",
"doc_code": "002",
"doc_category": "4",
"doc_subcategory": "",
"id": "0"
}
]
有多条记录,我刚刚包括了两条记录
这是我在sencha中的模型和解析代码
Ext.define('User', {
extend: 'Ext.data.Model',
config: {
fields: [
{name: 'docid', type: 'string'},
{name: 'doc_title', type: 'string'},
{name: 'doc_name', type: 'string'},
{name: 'doc_code', type: 'string'},
{name: 'doc_category', type: 'string'},
{name: 'doc_subcategory', type: 'string'},
{name: 'id', type: 'string'},
]
}
});
解析json
var store = Ext.create('Ext.data.Store',
{
autoLoad: true,
model: "User",
listeners:
{
beforeload: function (store,operation,eOpts)
{
}
},
proxy: {
type: 'ajax',
url : 'http://someurl/doctor/search',
reader: {
type: 'json',
rootProperty: 'users',
}
}
});
问题是,无论Json中有多少条记录,我只从Json中获取最后一条记录
如果我删除id
字段(注意Json数据中的id字段),它工作正常,我就可以解析所有记录
它为什么这样做?如何使用sencha解析所有记录?我很确定问题来自于在代理中指定
rootProperty
,但在JSON中没有。从这两个选择中:
删除rootProperty
或
将JSON文件的结构更改为以下内容:
{
"users": [
{
"docid": "1",
"doc_title": "Dato' Dr.",
"doc_name": "xyz",
"doc_code": "001",
"doc_category": "3",
"doc_subcategory": "",
"id": "0"
},
{
"docid": "1",
"doc_title": "Dr.",
"doc_name": "ABC",
"doc_code": "002",
"doc_category": "4",
"doc_subcategory": "",
"id": "0"
}
]
}
希望这有帮助下面的答案是否解决了您的问题。如果是,那么接受它,否则告诉我们什么不起作用,以及你得到了什么错误。