- 浏览: 3431288 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
Json解析教程(四.FastJson 的使用)
http://zyjustin9.iteye.com/blog/2020533
fastjson 基本使用方法 http://www.oschina.net/code/snippet_12_3495
1. [代码][Java]代码
2. [代码][Java]代码
3. [代码]编码
4. [代码]输出结果
5. [代码]解码
原文:http://blog.icoolxue.com/springmvc-3%E4%BD%BF%E7%94%A8fastjson%E4%BB%A3%E6%9B%BFjackson/
为什么要使用Fastjson,其实原因不需要太多,喜欢就行。
我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便。
ps:什么是对象间的循环嵌套?比如A有一个List<B>,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jackson,可以使用相应的注解来支持对象间的循环嵌套,具体是什么注解忘了,你可以Google一下Jackson循环嵌套就有很多答案)。
要使用Fastjson很简单,在spring-servler.xml(SpringMVC的配置文件)中将Jackson的配置去掉,换上下面的配置:
别忘了添加Fastjson的包,如果使用Maven,可使用如下设置(强烈建议使用Maven来管理你的项目):
http://zyjustin9.iteye.com/blog/2020533
fastjson 基本使用方法 http://www.oschina.net/code/snippet_12_3495
1. [代码][Java]代码
public class User { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
2. [代码][Java]代码
public class Group { private Long id; private String name; private List<User> users = new ArrayList<User>(); public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } }
3. [代码]编码
import com.alibaba.fastjson.JSON; Group group = new Group(); group.setId(0L); group.setName("admin"); User guestUser = new User(); guestUser.setId(2L); guestUser.setName("guest"); User rootUser = new User(); rootUser.setId(3L); rootUser.setName("root"); group.getUsers().add(guestUser); group.getUsers().add(rootUser); String jsonString = JSON.toJSONString(group); System.out.println(jsonString);
4. [代码]输出结果
{ "name":"admin", "id":0,"users":[ {"name":"guest","id":2}, {"name":"root","id":3} ] }
5. [代码]解码
Group group2 = JSON.parseObject(jsonString, Group.class);
原文:http://blog.icoolxue.com/springmvc-3%E4%BD%BF%E7%94%A8fastjson%E4%BB%A3%E6%9B%BFjackson/
为什么要使用Fastjson,其实原因不需要太多,喜欢就行。
我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便。
ps:什么是对象间的循环嵌套?比如A有一个List<B>,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jackson,可以使用相应的注解来支持对象间的循环嵌套,具体是什么注解忘了,你可以Google一下Jackson循环嵌套就有很多答案)。
要使用Fastjson很简单,在spring-servler.xml(SpringMVC的配置文件)中将Jackson的配置去掉,换上下面的配置:
<!-- 启用默认配置 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <!-- 配置Fastjson支持 --> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json</value> </list> </property> <property name="features"> <list> <value>WriteMapNullValue</value> <value>QuoteFieldNames</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven>
别忘了添加Fastjson的包,如果使用Maven,可使用如下设置(强烈建议使用Maven来管理你的项目):
<!-- Alibaba Fastjson框架 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.39</version> </dependency>
发表评论
-
分布式存储系统GlusterFS安装配置
2016-06-27 14:51 1038http://navyaijm.blog.51cto.com/ ... -
分布式查询 presto 入门安装使用
2016-06-24 15:44 2507http://my.oschina.net/chengxiao ... -
Spring Boot 属性配置
2016-06-24 11:04 1189Spring Boot 属性配置和使用 http://blog ... -
Spring Boot 集成MyBatis
2016-06-24 10:55 2035Spring Boot 集成MyBatis http://bl ... -
Spring MVC防重复提交
2016-06-17 15:47 1652http://my.oschina.net/zyqjustin ... -
Spring容器加载完之后执行特定任务
2016-06-17 15:36 2293http://my.oschina.net/simpleton ... -
跟我学习dubbo
2016-06-17 15:20 1075跟我学习dubbo-目录 http://bluereader. ... -
JavaMelody监控web服务器
2016-06-17 14:20 1185JavaMelody监控web服务器 http://my.os ... -
使用spring-session和shiro来代理session的配置
2016-06-16 11:21 12067使用spring-session和redis来代理sessio ... -
JSTL 的 if else : 有 c:if 没有 else 的处理
2016-06-14 09:52 1343http://blog.csdn.net/xiyuan1999 ... -
spring mvc 请求转发和重定向
2016-06-14 09:48 1407http://blog.csdn.net/jackpk/art ... -
freemarker使用记录
2016-06-08 16:24 1313freeMarker语法 http://uule.iteye. ... -
freemarker判断是否为空
2016-06-08 16:03 2http://www.oschina.net/code/sni ... -
ehcache 分布式支持
2016-06-05 22:26 1104原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2889原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1551http://my.oschina.net/wjme/blog ... -
mvc:view-controller
2016-05-18 10:26 1089http://blog.csdn.net/lzwglory/a ... -
spring配置事物的方式:注解和aop配置
2016-05-14 00:26 4111参考: Spring AOP中pointcut express ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2293http://www.oschina.net/p/uncode ... -
Mybatis分库分表扩展插件
2016-05-12 15:47 1632http://fangjialong.iteye.com/bl ...
相关推荐
此外,文章中提到的代码示例展示了在非Spring MVC环境中如何直接使用FastJson进行序列化操作,同时对比了开启和关闭循环引用检测的序列化结果。在这个例子中,定义了一个Student类,构建了一个Map,其中两个键("s1...
3. **Spring MVC 中使用 Fastjson**:在 Spring MVC 中,Fastjson 可用于接收 JSON 格式的请求参数,或者将处理结果转换成 JSON 响应。例如,使用 `@RequestBody` 注解接收 JSON 数据,使用 `@ResponseBody` 注解将...
在上面的例子中,`getUser`方法返回一个`User`对象,SpringMVC会使用Jackson将其转换为JSON格式并返回给客户端。 总结,SpringMVC中的`@ResponseBody`配合Jackson库,使得开发人员可以方便地处理JSON数据。`...
3. 使用Fastjson:在Controller层的处理方法中,使用Fastjson进行对象到JSON的转换,如`JSON.toJSONString(obj)`和`JSON.parseObject(jsonStr, Class)`。 4. 集成Swagger:在SpringMVC配置中添加Swagger的相关配置...
Spring MVC默认使用的是Jackson或Gson等库进行JSON转换,但我们可以自定义配置,用Fastjson替换它们。首先创建一个实现了`HttpMessageConverter`接口的Fastjson转换器类,例如`FastjsonHttpMessageConverter`。 3....
SpringMVC 配合 Fastjson 的内存马利用与分析 SpringMVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使 用了 MVC 架构模式的思想,将 web 层进 行职责解耦,基于请求驱动指的...
这里,我们配置了FastJsonHttpMessageConverter,使得Spring MVC可以使用FastJson进行JSON的序列化和反序列化。 现在,我们可以创建RESTful风格的控制器。创建一个名为`UserController`的Java类,使用`@...
在IT行业中,SpringMVC、Spring 4.3.12和Jackson是三个非常关键的框架,它们在构建高效、可扩展的企业级Web应用程序中起着至关重要的作用。本项目结合了这些技术,并实现了文件上传功能,使得开发者可以更方便地处理...
开发工具采用IDEA,用maven构建的项目,框架采用SpringMVC,数据库采用mysql与mybatis配合,数据格式采用阿里巴巴工具fastJson,数据源druid,另外还添加了resteasy中的功能
- Spring MVC 3.x使用的Jackson版本可能较旧,如2.2或2.4,而Spring MVC 4.x推荐使用更稳定的版本,如2.6或更高。 - 升级过程中,需要检查`pom.xml`或`build.gradle`文件,确保所有Jackson相关的依赖都被更新至...
- **使用FastJson配置**:可以通过FastJson提供的`JSONConfig`进行配置,比如设置日期格式、忽略空值等。 - **错误处理**:在处理JSON序列化和反序列化异常时,应捕获`JSONException`并给出适当的错误响应。 - **...
3. `jackson-jr-all-2.4.3.jar`:Jackson Junior (jr) 是一个轻量级的JSON库,主要针对资源有限的环境。它提供了基本的JSON读写功能,但不支持复杂的映射功能。 4. `jackson-core-lgpl-1.8.5.jar`:这是Jackson核心...
分享一个使用SpringMVC4 Rest 和Jackson的@JsonView注解集成的实例。@JsonView用来过滤JSON响应。Spring4.1开始直接支持@JsonView注解。要使用@JsonView,首先我们需要定义视图,我们可以定义多个视图。一个视图定义...
本示例项目"springMVC+mybatis+jackson+memcached"展示了如何整合四个关键的技术组件,来创建一个强大的后端架构。以下是对这些技术及其整合方式的详细说明: 1. **Spring MVC**:Spring MVC是Spring框架的一部分,...
要使用Spring MVC和Jackson处理JSON,首先需要在项目中引入Jackson的jar包。这通常通过Maven或Gradle等构建工具来完成,添加对应的依赖配置。例如,在Maven的pom.xml文件中,你可以加入以下依赖: ```xml ...
在实际开发中,你还可以自定义序列化和反序列化的行为,例如忽略某些字段、自定义日期格式等,只需在你的Java类上使用Jackson的注解即可。 总之,Spring Framework 4.3.8 和 Jackson 库的结合使用,能够帮助开发者...
SpringMVC3 详细讲解手册。大家可以学习哦
在IT行业中,Spring、SpringMVC、Hibernate和Jackson是四个非常关键的开源框架,它们各自在不同的领域发挥着重要作用,并且常被一起用于构建大型的企业级Java应用。本项目是基于Spring4、SpringMVC4、Hibernate4和...
本教程将深入探讨 SpringMVC 的核心功能和使用方法。 ### 第 1 章 SpringMVC 概述 SpringMVC 旨在简化 Web 开发,通过解耦控制器、服务、业务逻辑和视图,提高代码的可测试性和可维护性。其核心组件包括 ...