2

我有以下问题。我的 REST Web 服务返回这样的 json:

{"response":{"headers":"","items":{"item":[{"@id":"1","email":"admin@admin","firstname":"admin" ,"lastname":"admin","login":"admin"},{"@id":"2","email":"Bennett@Tawney.com","firstname":"Bennett","lastname ":"Tawney","登录":"bennettabcd"}...

如何强制 DataGrid 显示上面 json 中的项目?我无法更改 REST Web 服务,它必须以这种格式返回 jsons。Http请求正常,服务器返回我的json,但datagrid没有填写。你知道吗?

我的“道场”代码如下:

        var store = new Cache(new JsonRest({
            目标:settings.vars.API_URL + "/frapi/users/load",
            开始:页*行,
                计数:10,
                种类: [
                    {属性:“id”,降序:true}
                ],
                标题:{
                    “内容类型”:“应用程序/json”
                }
        }), 记忆());

        网格 = 新数据网格({
            存储:新对象存储({对象存储:存储}),
            查询选项:{},
            结构体:[{
                默认单元格:{
                    宽度:“自动”
                },
                细胞: [
                    {名称:“Id”,字段:“id”,宽度:“50px”},
                    {名称:“登录”,字段:“登录”},
                    {名称:“电子邮件”,字段:“电子邮件”,宽度:“200px”},
                    {名称:“名字”,字段:“名字”},
                    {名称:“姓氏”,字段:“姓氏”}
                ]
            }]            
        }, “网格”);

        网格.启动();

提前致谢

4

1 回答 1

1

好的,我找到了解决方案。请看下面的代码:

    var extractItemsFromResponse = function(deferred) {
        return deferred.then(function(response) {
            返回 response.response.items.item;
        });
    };

    aspect.after(store, "query", extractItemsFromResponse);

我希望它会帮助你。

于 2013-09-10T10:44:25.603 回答