Как настроить объект JackMon ObjectMapper для отображения только свойств белого списка? - PullRequest
3 голосов
/ 15 февраля 2012

Как настроить ObjectMapper для сопоставления только свойств, помеченных JsonProperty? (не обязательно должна быть эта конкретная аннотация, но она казалась наиболее разумной)

Я ищу что-то, что работает как аннотация GExpose @Expose и GsonBuilder (). ExcludeFieldsWithoutExposeAnnotation (). Create () serializer Пример .

class Foo {
    public String secret;

    @JsonProperty
    public String biz;
}

class FooTest {
    public static void main(String[] args) {
        ObjectMapper m = new ObjectMapper();
        // configure the mapper

        Foo foo = new Foo();
        foo.secret = "secret";
        foo.biz = "bizzzz";
        System.out.println(m.writeValueAsString(foo));
        // I want {"biz": "bizzzz"}

        m.readValue("{\"secret\": \"hack\", \"biz\": \"settable\"}", Foo.class);
        // I want this to throw an exception like secret does not exist
    }
}

Спасибо, выкуп

1 Ответ

2 голосов
/ 15 февраля 2012

С дубликат вопроса за исключением того, что я не хочу, чтобы поля также использовались.

ObjectMapper mapper = new ObjectMapper();
mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
            .withFieldVisibility(JsonAutoDetect.Visibility.NONE)
            .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
            .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...