1

我正在将一个库从 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));
    }
}
4

0 回答 0