Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用sencha解析Json_Json_Extjs - Fatal编程技术网

用sencha解析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

我有这种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解析所有记录?

我很确定问题来自于在代理中指定
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"
    }
  ]
}

希望这有帮助

下面的答案是否解决了您的问题。如果是,那么接受它,否则告诉我们什么不起作用,以及你得到了什么错误。