ObjectMapper 使用 com.jsoniter 库

ObjectMapper using com.jsoniter library

我有一个 Map<String, Object> map,它是从一个简单的 JSON 字符串 {"field1":"val1", "field2":"val2", "isReal":true} 反序列化而来的。我正在尝试使用上述字段构造一个 Java 对象 MyObject

我可以像这样使用 com.fasterxml.jackson.databind.ObjectMapper 来做到这一点:

public static MyObject load(Map<String, Object> map) throws IOException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.readValue(new ObjectMapper().writeValueAsString(map), MyObject.class);
    }

我想知道是否有人知道如何使用 com.jsoniter 库来做同样的事情?

我曾尝试使用 JsonIterator.deserialize,但没有将 Map 作为输入。

我也在图书馆的网站上看到了ReflectionEncoderFactory的用法,但是我没有完全理解如何使用它来构造一个对象MyObject

根据@Scary Wombat 的解释:

首先需要将 Map 转换回 JSON 字符串,然后将 JSON 字符串转换为对象:

    public static MyObject load(Map<String, Object> map) throws IOException {
        return JsonIterator.deserialize(JsonStream.serialize(map), MyObject.class);
    }

JsonStream.serialize(map)也是一样new ObjectMapper().writeValueAsString(map)