Попросите Джексона использовать строку по умолчанию, если объект не обнаруженJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Попросите Джексона использовать строку по умолчанию, если объект не обнаружен

Сообщение Anonymous »

Использование этой структуры классов
public class Customer{
private String name;
private String store;
private T details;
}
public class details{
private String dob;
private boolean validated;
}

Это работает, когда JSON
{
"name": "John Smith",
"store": "Walmart",
"details": {
"dob": "1900/01/01",
"validated": true
}

}

Но при получении ответов в формате JSON ниже это не удается.
{
"name": "John Smith",
"store": "Walmart",
"details": [
"Failed customer does not exist in the system", "Please contact administrator"
]
}

Есть ли в картографе Джексона возможность справиться с этими сценариями? Если сведения указаны как pojo, то запишите их как таковые, в противном случае запишите сведения как строковое значение. Я определяю свой картограф именно так
private static final ObjectMapper Mapper = new ObjectMapper() {{
setSerializationInclusion(JsonInclude.Include.NON_NULL);
setDateFormat(new SimpleDateFormat("MM/dd/yyyy HH:mm:ss z", Locale.US));
configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}};


Подробнее здесь: https://stackoverflow.com/questions/786 ... t-detected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»