検索

ホームページ  >  に質問  >  本文

java - SpringMVC中使用jackson返回json时如何将枚举转为json

SpringMVC中使用jackson返回json时如何将枚举转为json

在网上搜过,给出的方案是在要转换的枚举的get方法上加上@JsonValue注解,我加上后报了错
下面是我错误的示例:
StatusEnum:

IndexController:

POM.xml中jackson与Spring的版本号:

报的错:

怪我咯怪我咯2768日前825

全員に返信(3)返信します

  • PHPz

    PHPz2017-04-18 10:03:21

    私のアプローチは、パブリック メソッドを作成して Map に変換することです
    実際には、アノテーションは列挙型インスタンスの get メソッドに配置する必要があると思います

    。 リーリー

    使ったことがないのでよくわかりませんが、試してみてください。
    好奇心に負けずに使ってみました。 。 。上記のものは実現不可能です。 。 。ただし、@JsonValue

    は使用しないでください。 リーリー

    個人テスト、うまくいきました

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:03:21

    enumデフォルトでは、jackson はインデックスと列挙名にのみシリアル化できます。{} json オブジェクトを返す必要がある場合は、Serializer
    Jdk8Module を自分で実装する必要があります。 StatusEnum あなた自身。

    返事
    0
  • PHPz

    PHPz2017-04-18 10:03:21

    参考: http://blog.csdn.net/sdyy321/...

    次の点を確認してください:

    1. SerializationFeature.WRITE_ENUMS_USING_TO_STRING;

    2. @JsonSerialize および @JsonDeserialize

      ;
    3. @JsonCreator

    シリアル化だけが必要な場合は、1 と

    を使用して簡単に実装できます。@JsonSerialize逆シリアル化が必要な場合は、
    @JsonDeserialize を使用できます。前者は柔軟です:)@JsonCreator

    返事
    0
  • キャンセル返事