Special Thanks to Our Contributors !!
Updated Pluralization Package & Test cleanup
marblekirby
Implemented Immutable Classes Feature
Holly-HaCKer
Implemented Immutable Classes Feature
Jehoel
Assisted in Bug Fixing
tyeth, dogac00
Architecture Overview
The architecture of the project is segmented into two parts.
- Part 1: Consuming the JSON input. In this phase, the below is generally done:
- Parse the Json string
- Create a list of JObjects from the parsed string
- Create a dictionary of JObject types/ Understand how the json is structured
- Part 2: Write The Output using the supplied ICodeWriter interface
- Using the property injected in the JsonClassGenerator class, the corresponding concrete code writer is called and the writing process begins
- The code write can be configured using the configuration classes in the CodeWriteConfiguration folder
- Create a dictionary of JObject types/ Understand how the json is structured
- Finally, the GenerateClasses in the JsonClassGenerator class will return a StringBuilder instance that contains all the written classes
Roadmap
- Support for dictionaries Json2CSharp#18: The tool should have the option to detect dictionaries, currently dictionaries are treated as classes. Can be done using Markov Chain approach
- Support for nested arrays Json2CSharp#5: Currently, nested arrays return empty values
- Support for datetime Json2CSharp#90 ability to detect various types of datetime formats and a setting to turn this feature off