Я использую net.liftweb анализатор для СкалеСкала/liftweb сериализации JSON
У меня есть JSON, как этот
{
"k1":"v1",
"k2":["v21", "v22", "v23"]
}
k2 поле не является обязательным, или JSON может может не иметь его. Извлечь это в случае класса
случае класс MyCC (k1: String, k2: Список [String])
Когда JSON преобразуется в случае класса, если k2 нет, то он десериализируется в пустой список , Проблема заключается в обращении к json, как я могу заставить анализатор не сериализовать это поле, если это пустой список.
Это похоже на то, что означает «Вариант». – childofsoong
@soong: u среднее поле k2 должно быть типа: Option [List [String]]. Я не думаю, что это хорошая идея использовать 2 континета (список, опцион) – user830818
Почему бы и нет? Это именно то, что есть ... Я думаю, если вам это не нравится, вы можете просто использовать пустой список, но логика, которую вы напишете, чтобы справиться с этим именно так, - это именно то, что «Option» уже имеет в нем. – childofsoong