play-json-zipper
play-json-zipper copied to clipboard
Broken for Play >= 2.4
Hello,
i just tried to use your Zipper with Latest Play 2.4.1. It gives me:
java.lang.NoSuchMethodError: play.api.libs.json.JsObject.<init>(Lscala/collection/Seq;)V
[info] at play.api.libs.json.JsZipper$.mergeSiblingsAsObjLeft(JsZipper.scala:771)
[info] at play.api.libs.json.JsZipper$.reify(JsZipper.scala:797)
[info] at play.api.libs.json.JsZipper$class.up(JsZipper.scala:100)
[info] at play.api.libs.json.JsZipper$$anon$1.up(JsZipper.scala:760)
[info] at play.api.libs.json.JsZipper$class.root(JsZipper.scala:124)
[info] at play.api.libs.json.JsZipper$$anon$1.root(JsZipper.scala:760)
[info] at play.api.libs.json.JsZipper$class.createOrUpdatePath(JsZipper.scala:610)
[info] at play.api.libs.json.JsZipper$$anon$2.createOrUpdatePath(JsZipper.scala:749)
My code:
val zipper = JsZipper(Json.parse("""{"foo":"bar"}""")
val withCat = zipper.createOrUpdatePath(__.\("categories"), {
_ match {
case arr: JsArray => arr :+ JsString("1")
case _ => Json.arr("1")
}
})
+1
+1
Created pull request https://github.com/mandubian/play-json-zipper/pull/14
Can you please merge the pull request, rebuild and publish it to the repository, I really need this working for Play 2.4. Thanks a million.
+1
I've made the fix for Play 2.4 available on BinTray. Feel free to use this version until the pull request gets merged into the main project.
To add the SBT dependency, you need to add our repository:
resolvers ++= Seq(
"productfoundry at bintray" at "http://dl.bintray.com/productfoundry/maven"
)
Add the SBT dependency
libraryDependencies ++= Seq(
"com.productfoundry" %% "play-json-zipper" % "1.3"
)
Thank you
+1
+1
+1