为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过自定义 JsonSerializer 传递上下文?(Java,ObjectMapper)

如何通过自定义 JsonSerializer 传递上下文?(Java,ObjectMapper)

Helenr 2021-09-26 16:59:00
我有自定义的 JsonSerializer:new JsonSerializer<T>() {    @Override    public void serialize(T instance, JsonGenerator gen, SerializerProvider sp) throws IOException, JsonProcessingException    {        try {            instance = someFunction(instance);            SerializableString serializableString = new SerializedString(defaultMapper.writeValueAsString(instance));            gen.writeRawValue(serializableString);        } catch (Exception e) {            e.printStackTrace();        }    }}对于我的 Pourpuses,我需要一种方法来传递gen.getOutputContext()到defaultMapper.writeValueAsString(instance). 有没有办法实现这一目标?或者我是否以错误的方式使用 ObjectMapper?感谢您的任何见解。编辑:defaultMapper是类型ObjectMapper。
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

该ObjectMapper居然有正是我需要建在方法- ObjectMapper.writeValue(JsonGenerator, T)。来自我的问题的修改(和功能)代码:


new JsonSerializer<T>() {

    @Override

    public void serialize(T instance, JsonGenerator gen, SerializerProvider sp) throws IOException, JsonProcessingException

    {

        try {

            instance = someFunction(instance);

            defaultMapper.writeValue(gen, instance)

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}


查看完整回答
反对 回复 2021-09-26
  • 2 回答
  • 0 关注
  • 308 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信