как тип сериализации необязательного значения Джексона является лямбда в java - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть необязательное значение и лямбда в качестве значения, пытаясь сериализовать это необязательное значение как json, но оказалось пустым.

    ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.registerModule(new Jdk8Module());
    Optional<Function<String, String>> two = Optional.of(str -> "hello");
    System.out.println(two);
    System.out.println(objectMapper.writeValueAsString(two));

Я ожидаю, что результат json значение должно быть таким :

ps: я не знаю, сработает ли это, просто представьте:)

{"value": "com.f.test.tmp.Foo$$Lambda$288/0x000000080014ec40@66ea810"}

, поскольку поле необязательного значения типа является generi c T, поэтому значение должно быть сериализовано .

, а затем передать значение json другому методу и десериализовать json обратно в Optional<Function<String, String>>.

но результат:

Optional[com.f.test.tmp.Foo$$Lambda$288/0x000000080014ec40@66ea810]
{}

как можно сериализовать необязательное значение лямбды? :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...