This repository was archived by the owner on Aug 2, 2021. It is now read-only.

Description
Expected
If I serialize an object with MarshalJSON() and then unserialize that JSON with UnmarshalJSON() the resulting object should be the same as the one we started with.
Actual
simulations.Node do not fulfill the above expectation. That may cause surprising failures.
MarshalJSON() serializes Node in a way that I did not find a trivial implementation to unserialize the object and get back the original. Data is currently lost. So, we have a partially implemented UnmarshalJSON() because an API test would have fail otherwise.
Note: Preferably MarshalJSON() and UnmarshalJSON should have been implemented the same time. That was not the case. Now it's possible we have to change the serialization format.
Question
What would be the impact of changing the serialization format?