使用 json 绑定发布 KendoUI 和 SpringMVC



当我使用网格KendoUI时,SpringMVC和jackson存在问题。

实际上,网格数据源采用格式为:

[{"name":"Apple","description":"a description","value":15}]

但是,SpringMVC将其序列化为:

{"name":"Apple","description":"a description","value":15}

字符串中没有方括号,因此此网格不绑定值。

例如代码 :

@RequestMapping(value="/product", method = RequestMethod.GET)
public @ResponseBody Product get(Model model) {
    Product app = new Product("Apple", "a description", 15);
    return app;
}
@RequestMapping(value="/product/json", method = RequestMethod.GET)
public @ResponseBody String getJson(Model model) {
    return"[{"name":"Apple","description":"a description","value":15}]";
}

您可以使用 dataSource.schema.parse 手动截获该字符串并将其解析为有效的 JavaScript 数组。

下面应该可以工作。剑道网格期待一个JSON数组,因此块引用。

对于阅读 :

@RequestMapping(value = "/list", method = RequestMethod.GET)
public @ResponseBody
List<Product> list() {
      Product apple = new Product("Apple", "a description", 15);
      List<Product> listProduct = new ArrayList<Product>();
      listProduct.add(apple);
      return listProduct;
}
@RequestMapping(value="/product", method = RequestMethod.GET)
public @ResponseBody Product[] get(Model model) {
    Product app = new Product("Apple", "a description", 15);
    return new Product[]{app};
}

    @RequestMapping(value="/product", method = RequestMethod.GET)
public @ResponseBody List<Product> get(Model model) {
    List<Product> product = new ArrayList<Product>();
    product.add(new Product("Apple", "a description", 15));
    product.add(new Product("Guice","a guice",3));
    return product;
}

最新更新