У меня есть медот который принимает и парсит JSON с помощью Jackson
@POST
@Path("/add")
@Produces({MediaType.APPLICATION_JSON})
public void addTable(TableSyncDTO tableSyncDTO) {
...
}
TableSyncDTO
public class TableSyncDTO {
private String nodeGroupId;
private String srcTable;
private String srcDatabase;
private boolean syncUpdate;
private boolean syncInsert;
private boolean syncDelete;
private boolean tableReloadRequest;
private boolean createTable;
... //get and set, equals and hashcode
}
JSON который приходит
{
"nodeGroupId":"UZ_Megafon",
"srcTable":"CDR_calls323",
"srcDatabase":"FBII",
"sncUpdate":true,
"sncDelete":true,
"sncInsert":true,
"tbleReloadRequest":true,
"ceateTable":true
}
но объект не создается, вот ошибка:
Unrecognized field "isSyncUpdate" (class com.unifun.symmetric.view.model.TableSyncDTO), not marked as ignorable
По-моему Jackson отбрасывает is при сериализации и наоборот, когда пытается десериализовать json в объект ищет метод setFieldName(...)
. Для вашего json он ищет setIsSyncUpdate(...)
и isIsSyncUpdate()
. Таких нет и он вам справедливо об этом говорит говорит. Вы можете явно указать с помощью аннотаций @JsonGetter
или @JsonSetter
имена полей в json. В этом случае он будет смотреть на string указанную в аннотации, а не на имя метода. Или можете создать методы setIsSyncUpdate(...)
и isIsSyncUpdate()
, если заведется - то проблема в этом и нужно либо менять имена, либо добавить аннотации.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Собираю приложение через Usb отладку все окНо когда собираю Apk приложение падает java
Допустим есть программаПри определенном параметре в строке запуска её поведение изменится
У меня есть Skullstxt документ, мне нужно читать его на компьютере а не на сайте