Jacksonでオブジェクトを文字列にダンプする 質問する

Jacksonでオブジェクトを文字列にダンプする 質問する

私はアプリケーションでデバッグ出力を生成するためにGsonを使用しています

Gson gson = new GsonBuilder().setPrettyPrinting().serializeNulls().create();
gson.toJson(myObject);

しかし、Gson はデータ構造をシリアル化しようとすると循環参照エラーを報告します。これは Jackson ライブラリで実行できますか?

上院Gson 2.3.1: 2014 年 11 月 20 日リリース

Added support to serialize objects with self-referential fields. The self-referential field is set to null in JSON. Previous version of Gson threw a StackOverflowException on encountering any self-referential fields.
    The most visible impact of this is that Gson can now serialize Throwable (Exception and Error)

ベストアンサー1

Jackson でシリアル化するには:

public String serialize(Object obj, boolean pretty) {
    ObjectMapper mapper = new ObjectMapper();

    mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);

    if (pretty) {
        return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
    }

    return mapper.writeValueAsString(obj);
}

おすすめ記事