Hi Joni, Would you please also post the ticket url so I can track it. Thank you again, -A
On Feb 20, 10:39 am, Joni Freeman <[email protected]> wrote: > Ok, this was yet another bug in serialization code. It is now fixed > and should be in next snapshot build. Deserializing null values were > not supported. Note a recommended way is to use Option for optional > values. This would've worked: > > case class X(yy: Option[Y]) > case class Y(ss: String) > > from(to(X(None))) > > It makes me a bit sad that both Scala and JSON support null values... > > Cheers Joni > > On Feb 20, 8:13 am, Ali <[email protected]> wrote: > > > Thanks for your reply. Actually I was trying to build an exception I > > am receiving in our product. > > > case class X(yy:Y) > > case class Y(ss:String) > > > def from(in:String):X={ > > implicit val formats = net.liftweb.json.DefaultFormats > > import net.liftweb.json.JsonAST._ > > import net.liftweb.json.Extraction._ > > import net.liftweb.json.Printer._ > > net.liftweb.json.Serialization.read[X](in) > > } > > def to(in:X):String={ > > implicit val formats = net.liftweb.json.DefaultFormats > > import net.liftweb.json.JsonAST._ > > import net.liftweb.json.Extraction._ > > import net.liftweb.json.Printer._ > > compact(render(decompose(in))) > > } > > > val sample = new X(null) > > val sample2=from(to(sample)) > > > and I am getting, > > net.liftweb.json.MappingException: Did not find value which can > > be converted into java.lang.String > > at net.liftweb.json.Meta$.fail(Meta.scala:99) > > at net.liftweb.json.Extraction$.convert(Extraction.scala:280) > > at net.liftweb.json.Extraction$.build$1(Extraction.scala:216) > > at net.liftweb.json.Extraction$$anonfun$newInstance > > $1$1.apply(Extraction.scala:199) > > at net.liftweb.json.Extraction$$anonfun$newInstance > > $1$1.apply(Extraction.scala:199) > > at scala.List.map(List.scala:812) > > > I appreciate your comment, > > > Thanks, > > -A > > > On Feb 20, 12:10 am, Joni Freeman <[email protected]> wrote: > > > > Is X perhaps an inner class? Inner class has an implicit reference to > > > outer instance. Serializing those is not supported. > > > > If so, please move definition of X outside of class. > > > > Cheers Joni > > > > On Feb 20, 12:16 am, Ali <[email protected]> wrote: > > > > > Hi, > > > > I am wondering, could you please let me know what is wrong in the > > > > following code: > > > > > case class X(vv:String) > > > > val sample = new X("A") > > > > > implicit val formats = net.liftweb.json.DefaultFormats > > > > import net.liftweb.json.JsonAST._ > > > > import net.liftweb.json.Extraction._ > > > > import net.liftweb.json.Printer._ > > > > > def from(in:String):X=net.liftweb.json.Serialization.read[X](in) > > > > def to(in:X):String=compact(render(decompose(in))) > > > > > val sample2=from(to(sample)) > > > > sample2 must_== sample > > > > > I am getting java.util.NoSuchElementException: key not found: $outer > > > > > Thanks, > > > > -A -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.
