Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I serialize/deserialize java.util.stream.Stream using Jackson?

Tags:

java-8

jackson

Assuming I have the following object

public class DataObjectA {
    private Stream<DataObjectB> dataObjectBStream;
}

How can I serialize them using Jackson?

like image 872
Wins Avatar asked Oct 28 '25 20:10

Wins


1 Answers

As others have pointed out, you can only iterate once over a stream. If that works for you, you can use this to serialize:

new ObjectMapper().writerFor(Iterator.class).writeValueAsString(dataObjectBStream.iterator())

If you're using a Jackson version prior to 2.5, use writerWithType() instead of writerFor().

like image 58
shmosel Avatar answered Oct 31 '25 10:10

shmosel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!