Change Calendar Deserializer to accepts json object format

The Calendar Serializer produces a json like this:
{"time":1301886000000,"timezone":"America/Sao_Paulo"}

But the Calendar Deserializer ignore this format.
This Calendar Deserializer fix the problem and check if json is a primitive or object before parsing it.