如何获取 Kendo DataSource JSON 的一部分

How to get part of JSON for KendoDataSource

我需要从外部服务器填充 KendoListView,并且我只需要使用我正在阅读的响应的一部分 Java小服务程序

       var srcListView = new kendo.data.DataSource({
            transport: {
            read: {
                dataType: "json",
                url: "MainServlet",
                data:{event:"Test"},
            },
        },
    });

响应是:

{
  "status": "ok",
  "response": {
    "trucks": [
      "A6U-905",
      "AHF-888",
      "AHP-779",
      "buzz"
    ]
  }
}

我只需要 kendoListView 的卡车数组,我正在使用 Kendo-ui,我该怎么做?

使用dataSource.schema.parse筛选要在小部件中使用的数据:

new kendo.data.DataSource({
    transport: {
        read: {
                dataType: "json",
                url: "MainServlet",
                data:{event:"Test"},
        }
    },
    schema: {
        parse: function(data) {
            return (data && data.trucks ? data.trucks : []);
        }
    }
});

作为 @DontVoteMeDown said about using schema.parse you can use a simpler solution for cases like this where you don't need to process the result but just return what is in an element. This solution is define schema.data 作为包含数据的字段名称的替代方法。在您的示例中:

new kendo.data.DataSource({
    transport: {
        read: {
                dataType: "json",
                url: "MainServlet",
                data:{event:"Test"},
        }
    },
    schema: {
        data: "response.trucks"
    }
});

我建议在需要对收到的数据进行一些转换时使用 schema.parse,而在简单地返回收到的 JSON.[=16 的一些子元素时使用 schema.data =]