dhhoang / IonDotnet

Amazon Ion ( http://amzn.github.io/ion-docs/ ) library for dotnet
MIT License
12 stars 4 forks source link

Json.net compatibility #10

Open rickardp opened 6 years ago

rickardp commented 6 years ago

This is a standalone class library that provides integration between IonDotNet and JSON.Net. The rationale is that IonDotNet can reuse existing reflection mappers without change, which is a huge productivity gain if the system already needs to support JSON as a serialization method.

In addition to supporting the JSON expressive power, some Ion concepts have been added to e.g. add annotations and allow enum types to be mapped to symbols (this something that an application developer needs to implement though, this library only provides the basic framework for implementing it).

I am not sure if this library belongs here or should be a separate project altogether, but the benefits of integrating it would be to allow a faster pace of development. This also shortcuts the need for a bespoke reflection mapper in IonDotNet (JSON.Net already have a proven one), even though a datacontract serializer would eventually be ideal to have.

dhhoang commented 6 years ago

@rickardp I think you could include this project in the this repo although it could probably be a separate nuget package.
Also since you're already a collaborator to the repo don't be hesistant to push commits if you think it's okay. I haven't had the time to review this PR carefully yet but I think this is definitely something we can use.

rickardp commented 6 years ago

Great. I will spend some more time on ION work in the upcoming weeks, and I will the add this in.

I think this is a fundamental design decision (i.e. what is the scope of this project), so I want to make sure we are aligned.

Separate NuGet package is a given, as this pulls in additional dependencies.