如何获取KendoDataSource的JSON部分

时间:2018-05-28 13:43:53

标签: javascript jquery kendo-ui kendo-datasource

我需要从外部服务器填写 KendoListView ,我只需要使用我正在为Java Servlet阅读的部分响应

       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,我该怎么做?

2 个答案:

答案 0 :(得分:2)

使用dataSource.schema.parse过滤要在窗口小部件中使用的数据:

Start external program

答案 1 :(得分:2)

作为@DontVoteMeDown关于使用schema.parse的说法的替代方法,您可以使用更简单的解决方案来解决此类情况,您不需要处理结果但只返回元件。此解决方案将schema.data定义为包含数据的字段的名称。在您的示例中:

import os
import numpy as np
from sklearn.manifold import TSNE
import time 
import pandas as pd
#from ggplot import *
import matplotlib.pyplot as plt 

n_components = 4096
table = []

with open(os.path.join("folder", "fulldescriptors.txt")) as f:
    for descriptor in f.readlines():
        d = [float(i) for i in descriptor.split(" ")]

        table.append(d) 

n_sne = len(table)

df = pd.DataFrame(table)

time_start = time.time()
tsne = TSNE(n_components=3, verbose=1, perplexity=40, n_iter=50000)
tsne_results = tsne.fit_transform(df)


plt.scatter(tsne_results[:,0] , tsne_results[:,1])
plt.show()

我建议您在需要对收到的数据进行转换时使用new kendo.data.DataSource({ transport: { read: { dataType: "json", url: "MainServlet", data:{event:"Test"}, } }, schema: { data: "response.trucks" } }); ,而在{}返回收到的JSON的某些子元素时,schema.parse