当前位置: 首页 > 知识库问答 >
问题:

RESTeasy、JSON和null字段

井学
2023-03-14

当RESTeasy将POJO封送到XML中时,默认情况下会跳过空值。

然而,当封送到JSON时,包含null属性。有没有办法强制JSON输出与XML输出匹配?

我还尝试了@XmlElement(必需=false,nillable=true)),但它不起作用。我只在注释中使用了RESTEasy。

共有1个答案

步衡
2023-03-14

使用Jackson 2。设置以下提供程序:

package com.recruitinghop.swagger;

import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.ext.Provider;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
import com.fasterxml.jackson.module.scala.DefaultScalaModule;

@Provider
@Produces(MediaType.APPLICATION_JSON)
public class JacksonJsonProvider extends JacksonJaxbJsonProvider {

    public JacksonJsonProvider() {
          ObjectMapper mapper = new ObjectMapper();
          mapper.registerModule(new DefaultScalaModule());
          mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
          mapper.setSerializationInclusion(JsonInclude.Include.NON_DEFAULT);
          mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
          mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
          super.setMapper(mapper);
    }

}

Scala模块是可选的。

 类似资料:
  • 我有一个正在解析的JSON字符串,我想检索字段“pr_num”的值。我收到这个错误: 我的代码如下: 我想获取字段的值,它们是690052和null。 jsonString如下所述

  • 我有以下json结构: 虽然我有以下pojo: 我的重新定位方法看起来像: 但是,在启动服务器时,我收到以下错误: java.lang.RuntimeException:在basetype:java.util.bar(java.util.Map)的公共抽象void com.foo.FooBar.bar(“jsonObj”)上,找不到接受Stringparam或valueOf()或fromStrin

  • 问题内容: 我正在开发一个使用JSON进行服务器通信的Android应用,当我尝试解析json文件时遇到了一个奇怪的问题。 这是我来自服务器的json 我通过调用地址Json-object 获得City的价值。对于这种情况,我期望为空(这是optString的意思吗?),但实际上它包含字符串“ null”。因此,进一步的null或isEmpty- checks将返回false,因为String包含

  • JSON 可以设置 null 值。如: { "zhihu":null }

  • 问题内容: 在golang中,有没有办法查看是否可以将解编入结构的json字段与设置为null的json字段区分开?因为两者都将struct中的值设置为nil,但是我需要知道字段是否以该字段开头,并查看是否有人将其设置为null。 VS 当解组为结构时,两个json均为零。任何有用的资源将不胜感激! 问题答案: 使用以“拖延”解组过程决定做某件事之前要确定原始字节: 参观游乐场https://pl

  • 我正在开发一个使用JSON进行服务器通信的Android应用程序,当我试图解析我的json文件时,我遇到了一个奇怪的问题。 这是来自服务器的json 我通过调用字符串City=address来获取City的值。我的地址Json对象上的optString(“city”,“”)。对于这种情况,我希望城市是空的(这就是optString在这里的目的,不是吗?)但实际上它包含字符串“null”。因此,进一