У меня есть необязательное значение и лямбда в качестве значения, пытаясь сериализовать это необязательное значение как 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]
{}
как можно сериализовать необязательное значение лямбды? :)