org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
我们知道Springmvc
默认返回的是一个视图,而在前后端分离的开发模式中,我们经常使用Json
格式的数据进行前后端数据的交换。通常情况下有两种方式去构建一个Json
格式的响应数据,第一种是直接手动拼接Json
格式的字符串,然后以String
返回,第二种是使用对象转换器来完成对象与Json
数据的转换。
第一种方式太low
了,我们来说第二种方式,通过@ResponseBody
注解和MappingJackson2HttpMessageConverter
来完成 对象到Json
串的转换。
依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
在spring
的配置文件中配置MappingJackson2HttpMessageConverter
转换器
<mvc:annotation-driven>
<mvc:message-converters>
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
先来看三个接口描述:
-
不使用
@ResponseBody
,Springmvc
默认是返回一个视图,因此第一个会报错 -
返回自定义的Json串
-
使用
Json
转换器
总结:
-
返回前端一个对象时,
MappingJackson2HttpMessageConverter
会自动将对象转换成Json
格式数据,并且我们可以指定转换器的一些属性,例如上面指定了日期格式。 -
我们在使用
com.fasterxml.jackson.databind.ObjectMapper
进行对象和json
的转换时,对于json
转List
的操作,应该用下面的这种方法:import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; List<User> userList = new ArrayList<>(); userList.add(new User("zhangsan",18)); userList.add(new User("lisi",19)); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); try { // 集合转json String userJson = mapper.writeValueAsString(userList); // json转集合 List<User> users = mapper.readValue(userJson,new TypeReference<List<User>>() { }); System.out.println(users); } catch (IOException e) { e.printStackTrace(); }
GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:3 个月前 )
2d42229f
* Support BSON uint64 de/serialization
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com>
* Treat 0x11 as uint64 and not timestamp specific
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com>
---------
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com> 5 天前
1809b3d8
Signed-off-by: Niels Lohmann <mail@nlohmann.me> 5 天前
更多推荐
已为社区贡献6条内容
所有评论(0)