Subject: Re: C# POCO serializer/deserializer

Hi Brian,

Thanks for the reply (and for shepherding the project).

Regarding Json. I’ll take a look at the Java code. I’ve also used Newtonsoft for things like this previously. JsonTextReader/JsonTextWriter look like they would map easily to the Avro Encode/Decoder interfaces. The banner on the Json.NET <> documentation says "JsonTextWriter Class Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.”, which seems like what we need. <>

Regarding Newtonsoft version. Maybe 10.0.3? It is 2 years old and 2 major versions back. It is also by far the most popular download on nuget. For what I’m trying to do (better error reporting while parsing) I just need the JToken to to have the Path property.

Regarding Roslyn. This is a detailed intro/tutorial <>. It is the compiler framework that’s being used for code analysis tools, cross compilers etc. For code->schema I’m thinking to do the following:
- open the solution
- use the syntax walker <> to parse the required class, then generate a schema (or possibly a protocol for an entire namespace).

I haven’t thought a lot about the code generation side. But what I’m hoping is that we can parse the C#, as with schema generation, and then generate updates to the code by modifying the syntax tree. This will have the effect of editing the C# and preserving any edits, unmapped properties, and comments the developer has made. <>. As I’m typing this I think the reverse for the schema would be good too - load C# and schema and then edit the schema tree to sync any changes rather than just regenerating it every time.