如何在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 响应?