【问题标题】:issue KendoUI and SpringMVC with json binding使用 json 绑定发出 Kendo UI 和 Spring MVC
【发布时间】:2014-01-04 15:23:36
【问题描述】:

当我使用网格的KendoUI时,SpringMVC和jackson有问题。

其实grid数据源采用的是json格式:

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

但是,SpringMVC 将其序列化为:

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

String 中没有方括号,所以这个网格不绑定值。

例如代码:

@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}]";
}

【问题讨论】:

    标签: json spring-mvc kendo-ui


    【解决方案1】:

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

    【讨论】:

    • 感谢 Petur 的回复!我了解 KendoUI 机制。服务器方法只需要返回一个数组(或集合),以便有括号..
    【解决方案2】:

    下面应该工作。 Kendo Grid 需要一个 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;
    }
    

    【讨论】:

      【解决方案3】:
      @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;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多