В Scala 2.10, по-видимому, мы получаем улучшенное отражение.
Как это повлияет на lift-json, jerkson, sjson и друзей? Кроме того, можем ли мы ожидать в недалеком будущем встроенного языка JSON, а la Groovy отличный GSON в Scala?
Я прошу, чтобы я очень любил делать:
case class Foo(a: String, b: Int, bar: Bar)
case class Bar(c: Int)
val foo = Foo("hey", 10, Bar(23))
val json = foo.toJson
без прыжков с обручем (т.е. подготовка готовой плитки), даже с произвольно сложными графами объектов. Возможно, я слишком много прошу, но всегда можно мечтать. Пожалуйста, разрушите мои мечты 2.10 или просветите меня о том, какие новые возможности открываются с ожидаемым выпуском Scala.Next
Кроме того, что касается классов case, кажется, что для валидации/создания, валидация скаляз является подходящим оружием выбора. Это кажется замечательным, действуя как безопасный прокси для создания объекта или как сборщик ошибок. Однако, как Scewbie, я нахожу скадаз несколько сложным и сопротивляюсь темной стороне F-ing, несмотря на ее очевидную силу; -)
Во всяком случае, точка здесь, с отражением 2.10, мы должны иметь возможность привязывать во время выполнения поля от say, post формы к свойствам класса case и выполнять базовую валидацию, основанную только на типе свойства (т.е. не нужно будет указывать отдельную логику проверки, которая задает свойство foo, должна быть строкой, так как ее тип уже определен в классе case, на котором мы теперь можем правильно отразить)
Итак, возникает смелый новый мир, или существующие инструменты являются основой в обозримом будущем?