http://www.assembla.com/spaces/liftweb/tickets/358

It's already been pushed to master so is probably in 2.0-SNAPSHOT.

-Ross

On Feb 20, 2010, at 5:09 AM, Ali wrote:

> 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.
> 

-- 
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.

Reply via email to