如何从RESTapi响应中挖掘一些字段

  • 本文关键字:字段 RESTapi 响应 java
  • 更新时间 :
  • 英文 :


我正在从API获得作为的响应

Response response=Response.ok(map,MediaType.APPLICATION_JSON_TYPE).build();
return response

但我希望在返回响应时排除某些字段。

地图的格式如下:

Map<String,OuterClass> map;
class OuterClass{
int a;
int b;
Map<String,InnerClass> map2;
}
Class InnerClass{
int c;
int d;
}

例如,json响应不应包括InnerClass中的字段"d"。我怎样才能做到这一点?

为排除属性创建Set并使用removeIf

Set<String> excludeProperties=null;
map.entrySet()
.removeIf(e->excludeProperties.contains(e.getKey()));
return Response.ok(map,MediaType.APPLICATION_JSON_TYPE).build()

您可以JsonIgnore属性:

<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
<scope>provided</scope>
</dependency>

Class InnerClass{
int c;
@JsonIgnore
int d;
}

参考:https://fasterxml.github.io/jackson-core/javadoc/1.9/org/codehaus/jackson/annotate/package-summary.html

最新更新