Я использую scala play! 2.4.x и пытается searialize случай класс:Как заставить Play Framework 2.4.x сериализовать поле с пустым списком
case class MyEvent(
id: String,
parentId: Option[ParentRef] = None,
stepStatus: String = "undefined",
artifacts:Seq[String] = Seq.empty,
events:Seq[String] = Seq.empty
)
Проблема заключается в том, что сериализованная JSON не содержит полей артефакты и события, поскольку их значения по умолчанию пустые последовательности. Получатель ожидает получить имена полей, даже если они пусты. Я должен заставить JSon сериалайзер добавить «артефактов»: [], «событие»: []
Что такое правильный способ сделать это без написания целого форматировщика вручную? У меня есть десятки полей.
Не могли бы вы сделать элементы 'артефакты' и' события' 'Option [Seq [String]]'? AFAIK нет другого способа, который не требует записи 'Reads/Format' вручную. – Mikesname
Вы имеете в виду на стороне приемника? Нет, это невозможно. – Sergey
При попытке воспроизвести это, похоже, я вижу некоторые различия в поведении между 2.3 и 2.4. Не удалось решить. В 2.3 артефакты и события наиболее определенно присутствуют, и несколько вопросов SO направлены на их подавление. Никакой помощи я не знаю. Сообщите нам, если вы решите. – wwkudu