a json serializer and deserializer written in java