0

我有这种格式的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",
    "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 解析的记录?

4

1 回答 1

1

我很确定问题来自您rootProperty在代理中指定的脂肪,但它们在您的 JSON 中没有。从这两个选择中:

删除根属性

或者

将 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"
    }
  ]
}

希望这可以帮助

于 2012-10-31T14:17:28.327 回答