【问题标题】:Jackson depth dependent serializationJackson 深度依赖序列化
【发布时间】:2019-10-12 21:15:30
【问题描述】:

我正在尝试限制通过 REST 从服务器到客户端的数据。是否可以根据 Jackson 序列化器所处的级别来更改它?

例如: 0级,照常行事。级别 1,用更少的字段做序列化程序。

我有一个自定义序列化程序,但它也在级别 0 上使用。

【问题讨论】:

标签: java serialization jackson


【解决方案1】:

找到了答案,其实很简单:

    JsonStreamContext jsonStreamContext = jsonGenerator.getOutputContext();
    if (jsonStreamContext.getParent() == null || jsonStreamContext.getParent().toString().equals("/")) {
        defaultSerializer.serialize(item, jsonGenerator, serializerProvider);
    } else {
        jsonGenerator.writeStartObject();
        jsonGenerator.writeNumberField("id", item.getId());
        jsonGenerator.writeStringField("name", item.getName());
        jsonGenerator.writeEndObject();
    }

【讨论】:

    猜你喜欢
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多