如何在Java RS json响应中为简单列表类型设置自定义名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Java RS json响应中为简单列表类型设置自定义名称相关的知识,希望对你有一定的参考价值。

如果实体只是一个List tokenList那么这一行

return Response.status(Response.Status.OK).entity(tokenList).build();

将返回

{“ArrayList”:[“c2171488”]}

如果我改变

GenericEntity entity = new GenericEntity<List<String>>(tokenList) {}

我有

{“列表”:[“c2171488”]}

我想要的是将JSON响应中的名称更改为“token”,因此它看起来应该是这样的

{“Token”:[“c2171488”]}

有一个简单的方法吗?

ResponseBuilder实体函数有一个带有Annotation的变体,但是没有我能找到的例子。 qazxsw poi

答案
https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Response.ResponseBuilder.html#entity-java.lang.Object-java.lang.annotation.Annotation:A-
另一答案

找到了解决方案

String results = objectMapper.writeValueAsString(Collections.singletonMap(“Token”,tokenIdList)); return Response.status(Response.Status.OK).entity(results).build();

以上是关于如何在Java RS json响应中为简单列表类型设置自定义名称的主要内容,如果未能解决你的问题,请参考以下文章