数据绑定给我们带来巨大的方便,在前端我们只要写上与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项目的配置理念。
分享到:
相关推荐
2. 集合到JSON:如果需要转换的是List或其他集合类型,可以使用`TypeToken`类来指定泛型类型,避免类型信息丢失。 四、JSON对象与Map, Object>转换 有时我们可能需要在JSON对象和Map之间转换。对于Gson,可以使用`...
5. **集合和数组处理**:JSON-B可以自动处理Java集合(如List、Set)和数组,将它们转换为JSON数组,并能从JSON数组中还原这些集合。 6. **继承支持**:JSON-B可以处理Java类层次结构,包括序列化和反序列化子类实例...
它支持自定义序列化和反序列化的逻辑,可以处理复杂的Java类型,如泛型、集合、日期等。 4. **FastJSON库** FastJSON(`com.alibaba.fastjson`)是阿里巴巴提供的一个高性能的JSON库。它的解析速度非常快,并且...
此外,Jackson还支持处理复杂类型,如泛型、枚举、集合和自定义类型。 对于性能优化,Jackson提供了多种配置选项,如启用或禁用特定的功能,以及设置流处理模式来减少内存占用。同时,Jackson还支持处理JSON Schema...
它能够处理复杂的Java类型,如泛型、枚举、集合和自定义类型。 4. **Json-lib**: 这是一个Java JSON库,提供了多种框架(如Spring、Hibernate、EJB等)的集成,以及对XML、JavaBean、Collections、Map等类型的JSON...
它支持自定义序列化和反序列化规则,可以处理复杂的Java类型,包括集合、泛型、枚举等。Gson还可以通过GsonBuilder进行配置,提供丰富的功能,如忽略未知字段、日期格式化等。 3. **org.json.simple** 包: 这是一...
它支持基本的Java类型以及复杂的Java对象(包括集合和泛型)。 3. **org.json**: 这是一个简单的JSON库,提供了一个小型但功能强大的API来创建、解析和操作JSON数据。它不支持复杂的Java对象序列化,但对于简单的...
4. `Jackson`:由FasterXML维护的Jackson库是Java领域非常流行的JSON处理库,它包括多个模块,如`jackson-databind`用于对象绑定,`jackson-core`提供基本JSON流处理,`jackson-annotations`用于注解支持。...
此外,Jackson还支持处理复杂类型,如日期、自定义类型、集合和Map等,以及高级特性如类型安全的泛型处理、流式API、配置选项等。这些功能使Jackson成为Java中处理JSON不可或缺的工具。 总之,"json2.10.3-jar.zip...
3. **Jackson-Databind-2.7.4**: 数据绑定模块是Jackson库最常用的部分,它扩展了核心库的功能,允许开发者将JSON数据直接映射到Java对象上,反之亦然。`ObjectMapper`类在这个模块中得到了进一步增强,能够处理复杂...
7. **类型绑定**:Jackson的强项之一是类型绑定,它能够处理复杂的数据结构,如嵌套的对象和集合,以及泛型类型,无需额外的适配器或转换器。 8. **性能优化**:Jackson允许进行性能调优,如开启流式处理、启用二...
Jackson 提供了多种方式来处理JSON,包括流式API(适用于大文件处理)、树模型API(易于操作JSON结构)以及数据绑定(自动将JSON映射到Java对象)。Jackson的性能也非常高,同时支持注解,允许开发者通过注解自定义...
5. **类型绑定(Type Binding)**:当JSON包含复杂的类型信息,如泛型列表时,需要使用`ObjectMapper`的类型绑定功能。例如,`ObjectMapper.readValue(json, new TypeReference<List<User>>() {})`来确保反序列化成...
例如,你可以使用`ObjectMapper`类进行对象到JSON和JSON到对象的映射,支持各种复杂的对象结构,包括嵌套对象、集合和自定义类型。 2. **jackson-core-2.9.2.jar**:这是Jackson库的基础模块,提供了基本的JSON读写...
5. **类型绑定**:Jackson能够处理多种Java类型,包括基本类型、集合、Map、自定义POJO等。此外,它还支持泛型和复杂类型,如日期、枚举等。通过`@JsonTypeInfo`和`@JsonSubTypes`等注解,可以实现JSON反序列化时的...
5. **类型绑定**:对于泛型类型,Jackson可以自动推断实际类型,如`List<User>`。 6. **处理日期和时间**:Jackson有专门的模块处理日期和时间类型,如Java 8的`LocalDate`和`ZonedDateTime`。 7. **处理JSON ...
Jackson支持嵌套的JSON对象和数组,对应的Java对象可以是复杂的类结构,包括List、Map以及其他Java集合。 5. 避免无限递归 在处理包含相互引用的对象时,可能会导致无限递归。可以使用`@JsonIdentityInfo`注解解决...
4. **Jackson类型处理**:`jackson-type-utils`和`jackson.databind.type`这两个模块提供了解析和构建复杂类型的工具,如数组、集合、泛型类型等,这对于处理带有泛型的类和集合时尤其有用。 5. **Jackson模块**:...
`jackson-databind`支持复杂的数据结构,如嵌套的对象、列表和集合,以及处理枚举、泛型和自定义类型。 使用这三个模块,开发者可以方便地实现JSON数据与Java对象之间的转换,这对于RESTful API开发、Web服务交互...
5. **类型转换**: Jackson可以通过`TypeReference`或`@JsonTypeInfo`和`@JsonSubTypes`注解处理复杂的数据类型,如泛型集合或继承类的序列化和反序列化。 6. **模块系统**: Jackson允许通过添加模块来扩展其功能,...