I have got the following class:
public class Foo {
private Bar[] bars;
@JsonCreator
public Foo(Bar[] bars) {
this.bars = bar;
}
}
I would like a serialized json to look like this:
[
{
"x": 1,
"b": "b1"
},
{
"x": 2,
"b": "b2"
}
]
where each element in this array is a Bar. I have tried to put @JsonFormat(shape=JsonFormat.Shape.ARRAY) but then the serialized json starts with [[ which probably makes sense, because the whole object then becomes an array.
Is writing a custom serializer the only approach here?
Use com.fasterxml.jackson.annotation.JsonValue annotation. Since version 2.9 you can annotate field, if you use older version annotate getter method.
@JsonValue
private Bar[] bars;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With