springmvc对于JSON对象的处理
1、常见的json jar包,及其优缺点(开发中可以一起使用)
json-lib 缺点:依赖第三方的包
jackson SpringMVC内置的json装换工具,依赖包较少
GSON 谷歌开源jar包,功能最强大,不依赖任何包
fastjson 阿里巴巴开源jar包,效率最高,不依赖任何报
2、在需要返回的方法前面加上 @ResponseBody注解
@RequestMapping(value = "/user/userview.html", method = RequestMethod.POST)
@ResponseBody
public Object getUserById(@RequestParam String uid) {
String cjson = "";
if (StringUtils.isNullOrEmpty(uid)) {
return "nodata";
} else {
try {
User user = userService.getUserById(uid);
cjson = JSON.toJSONString(user);
} catch (Exception e) {
e.printStackTrace();
return "failed";
}
}
return cjson;
}
3、对日期格式的处理
[{"address":"北京海淀","age":5,"birthday":,"createdBy":0,"gender":2,"id":19,"modifyBy":0,"phone":"13878907654","userCode":"admin","userName":"系统管理员","userType":1}]
在查看日期格式的内容时,我们发现日期格式不是我们想要的
解决办法1:
在对应实体类的日期加上注解:针对阿里巴巴的 fastjson---------------@JSONField(format="yyyy-MM-dd"),缺点是依赖性太强,强耦合
解决方法2:
配置视图解析图
在springMVC配置文件中配置
<!-- 配置多视图解析器,允许用同样的内容数据来呈现不同的view -->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!-- 支持参数匹配 -->
<property name="favorParameter" value="true"/>
<!-- contentType 以何种格式进行展示 -->
<property name="mediaTypes">
<map>
<entry key="html" value="text/html;charset=UTF-8"/>
<entry key="xml" value="application/xml;charset=UTF-8"/>
<entry key="json" value="application/json;charset=UTF-8"/>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
</bean>
@RequestMapping(value = "/user/userview2", method = RequestMethod.GET)
@ResponseBody
public Object getUserById2(@RequestParam String uid) {
User user = new User();
try {
user = userService.getUserById(uid);
} catch (Exception e) {
e.printStackTrace();
}
return user;
}
访问路径:两种方式:(可以访问json、xml、html、xls....)
(1)、使用扩展名: http://localhost:8080/ShopSystem/user/userview2.json?uid=19
(2)、使用参数(favorParameter): http://localhost:8080/ShopSystem/user/userview2?uid=19&format=json
注:访问xml时需要在对应实体类配置注解 @XmlRootElement
页面输出:
springmvc对于JSON对象的处理的更多相关文章
- springmvc返回json对象
1.引入jackson的依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -- ...
- 本文使用springMVC和ajax,实现将JSON对象返回到页面
一.引言 本文使用springMVC和ajax做的一个小小的demo,实现将JSON对象返回到页面,没有什么技术含量,纯粹是因为最近项目中引入了springMVC框架. 二.入门例子 ①. 建立工程, ...
- SpringMVC 前端获得定义JSON对象的方法
SpringMVC 前端获得定义JSON对象的方法: 可以使用map进行对象的创建,这样就会解析成键值对,不需要为前端专门定义对象.
- SpringMVC接收json数组对象
最近帮一个妹子解决一个需求,就是前台使用ajax传三个相同的对象,再加一个form表单对象.然后遇到各种问题,终于解决了,@RequestBody接收Json对象字符串 以前,一直以为在Spring ...
- 前台JSON对象传给springmvc,解析为map对象
前台JSON对象传给springmvc,解析为map对象 javascript: $.ajax({ url : url, method : 'post', contentType : 'applica ...
- SpringMVC @RequestBody接收Json对象字符串
其实 @RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,后来发现用 JSON.stringify(data)的方式就能将对象 ...
- springmvc json字符串转化成json对象
问题出现在 :页面数据列表的展示出现 [object HTMLInputElement] 找到问题的所在原因后又三种解决方案 一:格式化json字符串为json对象字符串 success:functi ...
- springMvc接收json和返回json对象
导入三个包 页面: function sendJson(){ //请求json响应json $.ajax({ type:"post", url: "${pageConte ...
- spring入门(七)【springMVC返回json串】
现在多数的应用为了提高交互性多使用异步刷新,即在不刷新整个页面的情况下,只刷新局部,局部刷新用得最多就是ajax,ajax和后台进行交互的数据格式使用的最多的是JSON,这里简单描述,在springm ...
随机推荐
- C++ regex库的三种正则表达式操作
关于正则表达式的语法和字符含义,网上已经有很不错的博客教学,我当初参考的是 读懂正则表达式就这么简单 - Zery - 博客(http://www.cnblogs.com/zery/p/3438845 ...
- Leetcode题解(三)
8.String to Integer (atoi) 题目 这道题目关键是要考虑清楚各种输入用例.针对每一种情况,函数都能处理,也就是函数鲁棒性很高.代码如下: class Solution { pu ...
- Ignatius and the Princess IV(乱搞一发竟然过了)
B - Ignatius and the Princess IV Time Limit:1000MS Memory Limit:32767KB 64bit IO Format:%I64 ...
- keepalived中的脑裂
在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体.动作协调的HA系统,就分裂成为2个独立的个体.由于相互失去了联系,都以为是对方出了故障.两个节点上的HA软件像“裂脑人”一样,争 ...
- Log4j – Configuring Log4j 2 - Log4j 2的配置
Configuration Inserting log requests into the application code requires a fair amount of planning an ...
- 数据库集群 MySQL主从复制
MySQL主从复制 本节内容我们联系使用MySQL的主从复制功能配置Master和Slave节点,验证数据MySQL的数据同步功能. 因为要使用多个MySQL数据库,所以不建议在电脑上安装多个MySQ ...
- 记录我发现的第一个关于 Google 的 Bug
先贴上 Bug 链接: https://issuetracker.google.com/issues/68969655 Bug 本身是很简单的,就是 Google 的 Android 在线参考文档中, ...
- Angular 5和ASP.NET Core入门
我希望你们都知道Angular 5已经发布了.在本文中,我们将看到如何使用Angular5TemplateCore开始使用Angular 5和ASP.NET Core. 使用Angular5Templ ...
- Python——网络爬虫
此篇文章继续跟着小甲鱼的视频来初学网络爬虫,除了小甲鱼的网站上可下载视频,发现b站上也有全套的视频哦,会比下载来的更方便些. 网络爬虫,又称为网页蜘蛛(WebSpider),非常形象的一个名字.如果你 ...
- 搭建ntp时间服务器 ntp - (Network Time Protocol)
第1章 ntp 1.1 ntp简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调 ...