# Generic serialization API

**URL:** https://discourse.julialang.org/t/generic-serialization-api/56366
**Category:** General Usage
**Tags:** question
**Created:** [March 2, 2021, 9:14pm UTC](https://discourse.julialang.org/t/generic-serialization-api/56366 "2021-03-02T21:14:43Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jzr](https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/32.png) [@jzr](https://discourse.julialang.org/u/jzr)
#### Post date: [March 2, 2021, 9:14pm UTC](https://discourse.julialang.org/t/generic-serialization-api/56366/1 "2021-03-02T21:14:43Z")

</div>

Many file format packages have their own serialization and deserialization functions, with different APIs.

I would like to have a single unified API.

For example,

- `serialize(data::Serializable, target::AbstractTarget, format::AbstractFormat)`
- `deserialize(source::AbstractTarget, format::AbstractFormat)`

Or,

- `serialize(data::Serializable, target::Target{Format})`
- `deserialize(source::Target{Format})`

Or similar. I’m not sure about the output types.

What do you think about this idea?
