Parsing Json with sencha



我具有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"
  }
]

有多个记录,我只包括了两个记录

这是我的模型和解析代码

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中有多少记录。

,如果我删除了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"
    }
  ]
}

希望这有帮助

最新更新