I have an ISerializer interface with several different implementations and a simple contract:
string Serialize<T>(T data);
T Deserialize<T>(string serializedData);
One of the implementations is a JSON serializer. I'm debating how it should behave if the value passed into either of these methods is null. Should it return null? Or empty string? I realize this is a design decision, I'm curious how others have handled it and what kind of gotchas or design considerations that should factor into my decision? Thanks.