Hi, I'm one of the play-json developer and I'm advocating for making it an completely independent library outside of Play (it's already independent of Play but it's still delivered as a module of Play) and integrating useful tooling I've been developing last year (JsZipper + Json interpolators). With Play2.3 new Generic Validation API, it will be even more relevant to externalize Play/Json. So let's see what happens ;)
Anyway, if some people want to speak about integrating Play/json with Spark, don't hesitate to ask, I'm currently diving in Spark code and begin to know it a bit more precisely ;) Regards Pascal On Sun, Feb 9, 2014 at 8:50 PM, Luis Ángel Vicente Sánchez < langel.gro...@gmail.com> wrote: > spray-json future is not clear as spray is going to become akka-http and > the spray team is still deciding the future of spray-json... it may stay or > it may be combined with play-json to create a better library. > > spray-json only relies on parboiled, a library mantained by the spray-team > itself. Right now it's performance is much worse than lift-json ( > http://engineering.ooyala.com/blog/comparing-scala-json-libraries) but > that > would change when they finished parboiled2. > > And alternative could be argonaut.io but you would bring scalaz as a > dependency. > lift-json is a nice library, but Lift is a pretty heavyweight dependency to > track just for its JSON support. (lift-json is relatively self-contained > as a dependency from an end-user's perspective, but downstream distributors > need to build all of Lift in order to package the JSON support.) I > understand that this has come up before (cf. SPARK-883) and that the > uncertain future of JSON support in the Scala standard library is the > motivator for relying on an external library. > > I'm proposing replacing lift-json in Spark with something more lightweight. > I've evaluated apparent project liveness and dependency scope for most of > the current Scala JSON libraries and believe the best candidate is > spray-json (https://github.com/spray/spray-json), the JSON library used by > the Spray HTTP toolkit. spray-json is Apache-licensed, actively developed, > and builds and works independently of Spray with only one external > dependency. > > It looks to me like a pretty straightforward change (although > JsonProtocol.scala would be a little more verbose since it couldn't use the > Lift JSON DSL), and I'd like to do it. I'm writing now to ask for some > community feedback before making the change (and submitting a JIRA and PR). > If no one has any serious objections (to the effort in general or to to > the choice of spark-json in particular), I'll go ahead and do it, but if > anyone has concerns, I'd be happy to discuss and address them before > getting started. > > > thanks, > wb >