首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使Jackson在序列化时不输出类名(使用Spring MVC)

在使用Spring MVC时,如果希望在Jackson序列化时不输出类名,可以通过以下方式实现:

  1. 使用@JsonTypeInfo注解:在需要序列化的类上添加@JsonTypeInfo注解,并设置use = JsonTypeInfo.Id.NONE。这样可以告诉Jackson在序列化时不使用类型信息。
代码语言:java
复制
@JsonTypeInfo(use = JsonTypeInfo.Id.NONE)
public class MyClass {
    // 类的成员变量和方法
}
  1. 使用@JsonTypeName注解:如果需要在某些情况下输出类名,可以在需要输出类名的类上添加@JsonTypeName注解,并指定类名。
代码语言:java
复制
@JsonTypeName("MyClass")
public class MyClass {
    // 类的成员变量和方法
}
  1. 配置ObjectMapper:可以通过配置ObjectMapper来全局设置Jackson的序列化行为。在Spring MVC中,可以通过配置WebMvcConfigurer来实现。
代码语言:java
复制
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.disable(SerializationFeature.WRITE_TYPENAME); // 禁止输出类名
        converters.add(new MappingJackson2HttpMessageConverter(objectMapper));
    }
}

这样配置后,Jackson在序列化时将不会输出类名。

推荐的腾讯云相关产品:腾讯云对象存储(COS)是一种安全、低成本、高可靠的云端存储服务,适用于存储大规模非结构化数据,如图片、音视频、备份文件等。您可以通过腾讯云COS存储和管理您的多媒体文件。详情请参考腾讯云COS产品介绍:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Web MVC框架(九) XML和JSON视图与内容协商

我们只要按照自己习惯的方式使用自己熟悉的库,控制器中手动将要转换的对象转化成JSON或XML字符串,然后返回给@ResponseBody方法即可。...Spring的JSON视图支持 Jackson Spring提供了对Jackson序列化库的支持,如果使用Gradle的话,项目中添加如下一行,Gradle会自动引入Jackson和其依赖的几个包。...如果你使用Spring 4.2以下,那么使用FastJsonHttpMessageConverter;如果使用Spring 4.2以上,使用带4的那个。...缺点就是可以反序列化匿名对象,可能有安全问题,所以我们一般需要使用supportedClasses控制它可以反序列化的。 首先先来添加XStream的依赖项。...指定是否使用JavaBeans(TM) Activation Framework。这个库可以自动检测扩展名为实际媒体类型。如果指定我们就可以使用自己的设置。 ignoreAcceptHeader。

89910

一篇就够,Jackson的功能原来如此之牛(万字干货)

中,讲了FastJson的基本使用以及存在的不确定性问题,所以最终决定在项目中放弃使用,进而选择市面上比较主流,Spring Boot默认绑定的JSON库:Jackson。...@JsonIgnore可用于字段、getter/setter、构造函数参数上,指定字段参与序列化和反序列化。...Spring Boot默认引入了Jackson的依赖,而且也用我们做什么额外的操作,其实已经使用Jackson进行Json格式的数据与MVC中参数进行绑定操作了。...HH:mm:ss,或者具体的格式化的全限定名 spring.jackson.date-format #是否开启Jackson的反序列spring.jackson.deserialization...(CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)或者指定PropertyNamingStrategy子类的全限定. spring.jackson.property-naming-strategy

3.4K31

微服务架构之Spring Boot(三十三)

28.1.3自定义JSON序列化程序和反序列化程序 如果使用Jackson序列化和反序列化JSON数据,您可能需要编写自己的 JsonSerializer 和 JsonDeserializer 。...您还可以包含序列化程序/反序列化程序作为内部 使用它,如以下示例所示: import java.io.*; import com.fasterxml.jackson.core.*; import...Spring Boot还提供 JsonObjectSerializer 与 JsonObjectDeserializer 该给标准提供有用的替代基Jackson版本序列化对象时。...独立的Web应用程序中,容器中的默认servlet也会启用,并作为后备,如果Spring决定处理它,则从 ServletContext 的根目录提供内 容。...“固定”策略 URL中添加静态版本字符串而更改文件,如以下示例所示: spring.resources.chain.strategy.content.enabled=true spring.resources.chain.strategy.content.paths

1.5K20

都是微服务的天下了,还有不知道 JSON 的程序员吗?

FastJson 接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web 输出、Android 客户端等多种应用场景。 ? ☞ 导包 <!...若为作用在 set/get 方法上,反序列化时不会赋值给属性 format 用在 Date 类型的字段来格式化时间格式 serialize、deserialize 布尔类型, 序列化的时候就不包含这个字段了...Jackson 社 区相对比较活跃,更新速度也比较快,Spring MVC 的默认 json 解析器便是 JacksonJackson 优点很多。...JsonInclude.Include.NON_NULL:属性为 null 参与序列化 @JsonProperty 属性使用的注解,用来表示外部属性名字,就是使用别名序列化,而不是对象的名字。...value: 指你需要指定的名字 @JsonFormat 实体/属性使用的注解,序列化或者反序列化的时候,指定属性格式化日期/时间 1.3.3 一些对象的 JSON 字符串格式 ☞ JavaBean

4.5K20

Spring全家通之SpringMVC如何传递参数以及返回值的类型

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。...使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用SpringSpring MVC框架或集成其他MVC开发框架。 1....使用时,若该处理器方法只是进行跳转而传递数据,或只是传递数据而并不向任何 资源跳转(如对页面的 Ajax 异步响应),此时若返回 ModelAndView,则将总是有一部分多 余:要么 Model...接收参数的方式:当处理器方法中的形参是一个对象的时候,需要保证形参与Java对象中的属性一致。当使用逐一接收的方式,需要保证请求参数名和形参保持一致。...此 时 需 要 使 用 @RequestMapping 的 produces 属性指定字符集。 produces,产品,结果,即该属性用于设置输出结果类型。

4.5K00

教你理清SpringBoot与SpringMVC的关系

HttpMessageConverters Spring MVC使用HttpMessageConverter接口转换HTTP请求和响应,合适的默认配置可以开箱即用,例如对象自动转换为JSON(使用Jackson...自定义JSON序列化器和反序列化器 如果使用Jackson序列化,反序列化JSON数据,你可能想编写自己的JsonSerializer和JsonDeserializer。...自定义序列化器(serializers)通常通过Module注册到Jackson,但Spring Boot提供了@JsonComponent注解这一替代方式,它能轻松的将序列化器注册为Spring Beans...单机web应用中,容器会启动默认的servlet,并用它加载ServletContext根目录下的内容以响应那些Spring处理的请求。...如果遇到这个问题,你可以IDE里重新对classpath进行排序,将模块的和资源放到第一位。

1.6K30

教你理清SpringBoot与SpringMVC的关系

HttpMessageConverters Spring MVC使用HttpMessageConverter接口转换HTTP请求和响应,合适的默认配置可以开箱即用,例如对象自动转换为JSON(使用Jackson...自定义JSON序列化器和反序列化器 如果使用Jackson序列化,反序列化JSON数据,你可能想编写自己的JsonSerializer和JsonDeserializer。...自定义序列化器(serializers)通常通过Module注册到Jackson,但Spring Boot提供了@JsonComponent注解这一替代方式,它能轻松的将序列化器注册为Spring Beans...单机web应用中,容器会启动默认的servlet,并用它加载ServletContext根目录下的内容以响应那些Spring处理的请求。...如果遇到这个问题,你可以IDE里重新对classpath进行排序,将模块的和资源放到第一位。

2.1K40

JSON long 型 数字过长精度丢失解决

目录 1、 引入JacksonObjectMapper 2、 WebMvcConfig中重写方法extendMessageConverters ---- 由于SpringMVC中, 将Controller...具体实现步骤: 提供对象转换器JacksonObjectMapper,基于Jackson进行Java对象到json数据的转换(资料中已经提供,直接复制到项目中使用WebMvcConfig配置中扩展...Spring mvc的消息转换器,在此消息转换器中使用提供的对象转换器进行Java对象到json数据的转换 1、 引入JacksonObjectMapper import com.fasterxml.jackson.databind.DeserializationFeature...; /** * 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象 * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] * 从Java...super(); //收到未知属性时不报异常 this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); //反序列化时

1.1K10

Springmvc最全(必会知识合集)带Java代码示例(保姆级别讲解)包会

使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还 是 Struts 这样的 Web 框架。...Spring MVC 框架并不知道使用的视图, 所以不会 强迫您只使用 JSP 技术。...4.2 DispatcherServlet 辅助 spring 中的 DispatcherServlet 使用一些特殊的 bean来处理request 请求和渲染合适的视图。...实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容 器初始化时调用一次。...由于拦截器是基于 web 框架的调用,因此可以使用 Spring 的依赖注入( DI )进行一些业务操 作,同时一个拦截器实例一个 controller 生命周期之内可以多次调用。

65130

SpringMVC日期格式化

@ResponseBody方式返回json的日期格式化 com.fasterxml.jackson.databind.ObjectMapper设置相应属性 SerializationFeature.WRITE_DATES_AS_TIMESTAMPS...TimeZone.getTimeZone("GMT+8")); //设置日期格式 this.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); //反序列化时...//this.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); //反序列化的时候如果多了其他属性,抛出异常...* @param response HttpServletResponse响应 * @param content 要输出到客户端的字符串 * @param contentType 输出ContentType...)); return fmt; } 或者用日期选择器插件,初始化日期 4.见过最邪门的是公司的SpringCloud项目,去掉了所有配置文件的日期格式化,去掉了硬编码的java配置与日期格式化相关的

3.7K20

【小家SpringSpring MVC容器的web九大组件之---HandlerAdapter源码详解---HttpMessageConverter的匹配规则(选择原理)

使用@ControllerAdvice注解+ResponseBodyAdvice+ResponseBodyAdvice,可以对请求的输入输出进行处理,避免了controller中对业务代码侵入。...但是我们经常会遇到说不喜欢用它自带的Jackson序列化,而想换成我们想要的国产的FastJson转换器。怎么弄呢???...Spring MVC内置支持了jackson,gson。...本文另外一种方案:Spring MVC环境下能让你优雅的处理文件下载:使用ResponseEntity方式 Demo如下: // 处理下载 get/post/put请求等等都是可以的 但一般都用...因为是这种实现方式是基于循环写入的方式进行下载,每次将字节块写入到输出流中的时都会进行输出流的合法性检测,因为用户取消或者网络原因造成socket断开的时候,系统会抛出SocketWriteException

1.6K20

Spring Boot升级到2.x,Jackson对Date时间类型序列化的变化差点让项目暴雷【享学Spring Boot】

前言 阅读本文之前,建议你已经掌握了Jackson的知识以及它的SpringSpring Boot下的集成和运用。...说明:因为我写这个是个脚手架,供给多个团队使用Jackson这点上没有考虑好向下兼容性导致多个项目差点暴雷,幸好及时止损。...Spring MVC),对于Rest接口,默认会使用Jackson进行消息的序列化。...---- Spring Boot消息转换器配置与Jackson 从现象上看,Spring Boot使用的ObjectMapper是从容器中拿的,而传统Spring MVC使用的是自己新构建的。...说明:Spring Boot环境下,强烈建议你启用@EnableWebMvc注解 @Configuration @ConditionalOnWebApplication ... // 若你开启了

4K41

Spring认证中国教育管理中心-Spring Data Couchbase教程七

Web 相关组件要求 Spring MVC JAR 位于路径中。其中一些甚至提供与Spring HATEOAS 的集成。..." /> 基本网络支持 上一节中显示的配置注册了一些基本组件: A使用DomainClassConverterClass让 Spring MVC 从请求参数或路径变量中解析存储库管理的域的实例。...Jackson 模块用于反/序列化Point和 等类型Distance,或存储特定类型,具体取决于使用Spring 数据模块。...使用DomainClassConverter 本DomainClassConverter让你在Spring MVC中的控制器方法签名使用域类型直接使您不必手动通过资源库查找的情况下,如下例所示: 示例...对于 Spring MVC,必要的转换器活动时会自动注册,@ EnableSpringDataWebSupport并且所需的依赖项路径中可用。

97610

RESTful风格的应用

但是发现一件特别麻烦的事情,每一次书写方法以后,都需要在每一个方法上写@ResponseBody,这样返回的字符串才能被正常地输出到响应。所以Spring4以后。...体提供了一个新的spring注解,叫做@RestController ,把它替换原来的@Controller注解写在上即可,这个注解的作用就是,只要一写上以后,默认当前方法返回的都是rest形式的数据...JSON序列化 在学习JSON序列化时,先要导入一个maven依赖Jackson中央仓库搜索jackson-core和jackson-databind和jackson-annotations,jackson...是目前世界上使用范围最广,效率最高的JSON序列化组件。...因为刚才我们配置了jackson,所以jackson会自动帮我们进行序列输出。这解决了我们手动拼接字符串时的麻烦。

61530
领券