mathnet-spatial icon indicating copy to clipboard operation
mathnet-spatial copied to clipboard

Implement support for Json serialization

Open Jones-Adam opened this issue 6 years ago • 7 comments

Provide support so that newtonsoft.json can serialize Spatial types

Jones-Adam avatar Jan 15 '18 19:01 Jones-Adam

#145 implements a JsonConverter that can handle all spatial types. using it is fairly trivial To Serialize:

Point2D p = new Point2D(1,2);
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.Converters.Add(new SpatialJsonConverter());
string jsonString = JsonConvert.SerializeObject(p, settings);

To Deserialize:

JsonSerializerSettings settings = new JsonSerializerSettings();
settings.Converters.Add(new SpatialJsonConverter());
JsonConvert.DeserializeObject(jsonString, settings);

Are there any other use cases to support with json serialization?

Jones-Adam avatar Jan 15 '18 21:01 Jones-Adam

@Jones-Adam it's been 1.5 years... Any chances of merging the serialization branch into master and releasing a nuget for it? I'm not sure what's the blocker there, but am willing to contribute.

Leon99 avatar Sep 13 '19 22:09 Leon99

Hi! I agree, with @Leon99, why has this not been released yet?

samirem avatar Oct 30 '20 10:10 samirem

@Leon99 @samirem Releases are handled by @cdrnet for this repository. While the code was feature complete at the time it was written, I would imagine that it should be updated to support the current library versions and maybe add support for MessagePack as well before being merged.

Jones-Adam avatar Nov 09 '20 08:11 Jones-Adam

Can we please revive this issue now that #181 has been pushed to master?

jkalias avatar Mar 30 '23 19:03 jkalias

revive away - the sticking point last time was concern the packaging of support for multiple serialization libraries introduced dependencies, even if optional. Let me know how you want it put together and I am happy to update the code to support the latest versions of the libraries

Jones-Adam avatar Apr 03 '23 06:04 Jones-Adam

Hi @Jones-Adam , thanks for replying. I managed to fix some bus and create a new v0.7.0 tag, however I have not been able to reach out to @cdrnet; I have no rights neither to publish the nuget package in the name of the Math.NET (NuGet) organisation, nor to update the project website or documentation. 😞

I think the idea that was thrown at #47 , that we offer XML and JSON serialization as separate nugets, is definitely worth investigating.

jkalias avatar Apr 03 '23 06:04 jkalias