Задать вопрос
@Visteras
Любознателен, интересуюсь новым и старым :)

Не могу сформировать case class что бы корректно распарсить JSON файл. Что делаю не так?

Использую json4s
Есть вот такой JSON сегмент:
"properties": [
{
"name": "Тут имя",
"values": [
[
"500/1000",
0
]
],
"displayMode": 2
}
],

Я пытаюсь его представить вот таким образом:
case class Property(
name: String,
values: Option[Option[(String, Int)]] = None,
displayMode: Int
)
В значение values возвращается None. Пробовать вообще без Option, пробовал с одним, даже с Seq пробовал. Не понимаю уже что не так. Может кто просветить? Что я делаю не так?
  • Вопрос задан
  • 237 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • ProductStar
    Python и Django: бэкенд-разработка
    2 месяца
    Далее
Решения вопроса 1
mrRontgen
@mrRontgen
Scala lover.
Оборачивать Option в Option вообще лишнее. Мне кажется, что здесь вопрос скорее про десериализацию json. Я не когда не работал с json4s, поэтому не знаю как внутри устроена (де)сериализация. Если есть возможность кастомизировать сериализацию для конкретных типов, то можно какой угодно обьект собрать (и разобрать). Например, что бы можно было удобно задействовать pattern matching можно такой класс использовать а, например, с помощью play-json можно написать казтомную сериализацию.
sealed trait Value
    case class StringValue(s: String) extends Value
    case class IntValue(i:Int) extends Value
    case class Values(one: Value, two: Value)
    case class Property(
                         name: String,
                         values: Values,
                         displayMode: Int
                       )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ИТРУМ Ростов-на-Дону
от 75 000 ₽
СофтМоушен Санкт-Петербург
от 150 000 до 250 000 ₽
Яндекс Москва
от 180 000 до 350 000 ₽