`
stephen4留雨
  • 浏览: 19758 次
文章分类
社区版块
存档分类
最新评论

Json 集合泛型绑定

 
阅读更多

数据绑定给我们带来巨大的方便,在前端我们只要写上与pojo类相同的参数,后台就可以绑定到实例上。但是集合泛型绑定需要一些配置。


应用场景举例:http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024741.html(这篇文章代码就是一个很好的例子,copy过来方便阅读)

JavaScript 代码:

<script type="text/javascript">  
    $(document).ready(function(){  
        var saveDataAry=[];  
        var data1={"userName":"test","address":"gz"};  
        var data2={"userName":"ququ","address":"gr"};  
        saveDataAry.push(data1);  
        saveDataAry.push(data2);         
        $.ajax({ 
            type:"POST", 
            url:"user/saveUser", 
            dataType:"json",      
            contentType:"application/json",               
            data:JSON.stringify(saveData), 
            success:function(data){ 
                                       
            } 
         }); 
    });  
</script>

Java代码

    @RequestMapping(value = "saveUser", method = {RequestMethod.POST }}) 
    @ResponseBody  
    public void saveUser(@RequestBody List<User> users) { 
         userService.batchSave(users); 
    } 

问题:跑不成功?

关键:配置要Spring 3.2 以上,jackson 2.0 以上,

在配置文件加上

<bean  
    class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  
    <property name="messageConverters">  
        <list>  
            <bean  
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />  
        </list>  
    </property>  
</bean>  



关于Jackson 的配置,参考:配置Spring支持自动json格式数据转换

我认为也可以用传字符串的形式来实现 集合泛型绑定的,不过Spring默认启用Jsckson 处理Json,你觉得用哪个方便?

从这个例子我更了解了Web项目的配置理念。

分享到:
评论

相关推荐

    Java对Json的一系列操作(构建、json与对象的转换)

    2. 集合到JSON:如果需要转换的是List或其他集合类型,可以使用`TypeToken`类来指定泛型类型,避免类型信息丢失。 四、JSON对象与Map, Object&gt;转换 有时我们可能需要在JSON对象和Map之间转换。对于Gson,可以使用`...

    Java API for JSON Binding (JSON-B).zip

    5. **集合和数组处理**:JSON-B可以自动处理Java集合(如List、Set)和数组,将它们转换为JSON数组,并能从JSON数组中还原这些集合。 6. **继承支持**:JSON-B可以处理Java类层次结构,包括序列化和反序列化子类实例...

    json所需jar包

    它支持自定义序列化和反序列化的逻辑,可以处理复杂的Java类型,如泛型、集合、日期等。 4. **FastJSON库** FastJSON(`com.alibaba.fastjson`)是阿里巴巴提供的一个高性能的JSON库。它的解析速度非常快,并且...

    Jackson JSON jar包

    此外,Jackson还支持处理复杂类型,如泛型、枚举、集合和自定义类型。 对于性能优化,Jackson提供了多种配置选项,如启用或禁用特定的功能,以及设置流处理模式来减少内存占用。同时,Jackson还支持处理JSON Schema...

    extjs json所需jar包

    它能够处理复杂的Java类型,如泛型、枚举、集合和自定义类型。 4. **Json-lib**: 这是一个Java JSON库,提供了多种框架(如Spring、Hibernate、EJB等)的集成,以及对XML、JavaBean、Collections、Map等类型的JSON...

    json所需包

    它支持自定义序列化和反序列化规则,可以处理复杂的Java类型,包括集合、泛型、枚举等。Gson还可以通过GsonBuilder进行配置,提供丰富的功能,如忽略未知字段、日期格式化等。 3. **org.json.simple** 包: 这是一...

    JSON在Java中使用所需框架.rar

    它支持基本的Java类型以及复杂的Java对象(包括集合和泛型)。 3. **org.json**: 这是一个简单的JSON库,提供了一个小型但功能强大的API来创建、解析和操作JSON数据。它不支持复杂的Java对象序列化,但对于简单的...

    json相关jar包

    4. `Jackson`:由FasterXML维护的Jackson库是Java领域非常流行的JSON处理库,它包括多个模块,如`jackson-databind`用于对象绑定,`jackson-core`提供基本JSON流处理,`jackson-annotations`用于注解支持。...

    json2.10.3-jar.zip

    此外,Jackson还支持处理复杂类型,如日期、自定义类型、集合和Map等,以及高级特性如类型安全的泛型处理、流式API、配置选项等。这些功能使Jackson成为Java中处理JSON不可或缺的工具。 总之,"json2.10.3-jar.zip...

    json需要的所有JAR

    3. **Jackson-Databind-2.7.4**: 数据绑定模块是Jackson库最常用的部分,它扩展了核心库的功能,允许开发者将JSON数据直接映射到Java对象上,反之亦然。`ObjectMapper`类在这个模块中得到了进一步增强,能够处理复杂...

    jackson2.7.1所有Jar包,SSM返回前端Json数据

    7. **类型绑定**:Jackson的强项之一是类型绑定,它能够处理复杂的数据结构,如嵌套的对象和集合,以及泛型类型,无需额外的适配器或转换器。 8. **性能优化**:Jackson允许进行性能调优,如开启流式处理、启用二...

    fastjson + gson + jsonlib + jacksonjar包

    Jackson 提供了多种方式来处理JSON,包括流式API(适用于大文件处理)、树模型API(易于操作JSON结构)以及数据绑定(自动将JSON映射到Java对象)。Jackson的性能也非常高,同时支持注解,允许开发者通过注解自定义...

    Jackson 框架 json 到 复杂 list 的转换

    5. **类型绑定(Type Binding)**:当JSON包含复杂的类型信息,如泛型列表时,需要使用`ObjectMapper`的类型绑定功能。例如,`ObjectMapper.readValue(json, new TypeReference&lt;List&lt;User&gt;&gt;() {})`来确保反序列化成...

    最新的高性能 JSON 处理jackson-2.9.2.jar下载

    例如,你可以使用`ObjectMapper`类进行对象到JSON和JSON到对象的映射,支持各种复杂的对象结构,包括嵌套对象、集合和自定义类型。 2. **jackson-core-2.9.2.jar**:这是Jackson库的基础模块,提供了基本的JSON读写...

    Jackson进行JSON解析和序列化jar包

    5. **类型绑定**:Jackson能够处理多种Java类型,包括基本类型、集合、Map、自定义POJO等。此外,它还支持泛型和复杂类型,如日期、枚举等。通过`@JsonTypeInfo`和`@JsonSubTypes`等注解,可以实现JSON反序列化时的...

    Json所需6个JAR包和jackson.zip

    5. **类型绑定**:对于泛型类型,Jackson可以自动推断实际类型,如`List&lt;User&gt;`。 6. **处理日期和时间**:Jackson有专门的模块处理日期和时间类型,如Java 8的`LocalDate`和`ZonedDateTime`。 7. **处理JSON ...

    josn 各种转换

    Jackson支持嵌套的JSON对象和数组,对应的Java对象可以是复杂的类结构,包括List、Map以及其他Java集合。 5. 避免无限递归 在处理包含相互引用的对象时,可能会导致无限递归。可以使用`@JsonIdentityInfo`注解解决...

    jackson 全部jar包

    4. **Jackson类型处理**:`jackson-type-utils`和`jackson.databind.type`这两个模块提供了解析和构建复杂类型的工具,如数组、集合、泛型类型等,这对于处理带有泛型的类和集合时尤其有用。 5. **Jackson模块**:...

    jackson相关jar包

    `jackson-databind`支持复杂的数据结构,如嵌套的对象、列表和集合,以及处理枚举、泛型和自定义类型。 使用这三个模块,开发者可以方便地实现JSON数据与Java对象之间的转换,这对于RESTful API开发、Web服务交互...

    jacksonapi.zip

    5. **类型转换**: Jackson可以通过`TypeReference`或`@JsonTypeInfo`和`@JsonSubTypes`注解处理复杂的数据类型,如泛型集合或继承类的序列化和反序列化。 6. **模块系统**: Jackson允许通过添加模块来扩展其功能,...

Global site tag (gtag.js) - Google Analytics