templated deserializer
json serializer