小编Ave*_*ery的帖子

如何从rest api序列化枚举列表

我想从 rest api 调用返回一个枚举列表,并让它以 JSON 格式显示枚举的值而不仅仅是枚举名称。目前我的 rest 调用返回 json 看起来像:

{
  "responses": [
    "ACTION_TAKEN",
    "IGNORED",
    "UNDETECTED"
  ]
}
Run Code Online (Sandbox Code Playgroud)

但是,我希望它更像(或像这样):

{
  "responses": [
    {
      "name":"ACTION_TAKEN",
      "value":"Action Taken"
    },
    {
      "name":"IGNORED",
      "value":"Ignored"
    },
    {
      "name":"UNDETECTED",
      "value":"Undetected"
    }
   ]
}
Run Code Online (Sandbox Code Playgroud)

我的枚举看起来像:

public enum Response {

  ACTION_TAKEN ("Action Taken"),
  IGNORED ("Ignored"),
  UNDETECTED("Undetected");

  private String value;

  Response(String value) {
    this.value = value;
  }

  public String getValue() {
    return this.value;
  }

  @Override
  public String toString() {
    return value;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的模型对象看起来像这样。为了这个例子,它只有一个枚举值列表。

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class StaticData …
Run Code Online (Sandbox Code Playgroud)

java rest enums serialization json

5
推荐指数
2
解决办法
5986
查看次数

标签 统计

enums ×1

java ×1

json ×1

rest ×1

serialization ×1