如何在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响应中为简单列表类型设置自定义名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CakePHP 中为 JSON 返回正确的内容类型?

java - 如何在java中为mysql的JSON数据类型使用准备好的语句?

如何从 javax.ws.rs.core.Response 响应中检索 JSON 响应?

如何在改造中为json字符串响应编写模型类?

如何在 Tomcat 上的 JAX-RS (Jersey) 中返回 HTTP 404 JSON/XML 响应?

如何映射 json 响应并创建带有索引的简单列表