我正在将一个库从 Jackson 转换为 json-b,但我找不到 JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY 的等效项。这样的事情存在吗?
我得到了以下工作,但我讨厌使用 Yasson 内部来这样做。
public static class ResultDeserializer implements JsonbDeserializer<List<Result>>
{
public ResultDeserializer()
{
}
@Override
public List<Result> deserialize(JsonParser parser, DeserializationContext ctx, Type rtType)
{
// I have to use internals as there are no other ways to get this data
if (((UserDeserializerParser) parser).getCurrentLevel().getLastEvent() == JsonParser.Event.START_ARRAY) {
return ctx.deserialize(rtType, parser);
} else
return List.of(ctx.deserialize(Result.class, parser));
}
}