Skip to content

cduhard/jsonnet-privatesetterscontractresolvers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JsonNet.PrivateSetterContractResolvers

First. I have nothing to do with the awesome official library "Newtonsoft.Json". This is merely a tiny extension to it. In 2010 I was writing a NoSQL'ish document oriented provider over Microsoft SQL Server (SisoDB). While doing this I found the need for a custom contract resolver to Newtonsoft JSON.Net. One that supported private setters as well. I've written about the solutions to this problem before. Since it still seems to solve issues for people I have put up this GitHub repository and created a source distribution NuGet for it as well.

Install-Package JsonNet.PrivateSettersContractResolvers.Source

It installs a single file: PrivateSettersContractResolvers.cs; into your project of choice. After that, you just consume it by creating an instance of either:

  • PrivateSetterContractResolver
  • PrivateSetterCamelCasePropertyNamesContractResolver

which you then assign to the JsonSerializerSettings.ContractResolver.

var settings = new JsonSerializerSettings
{
    ContractResolver = new PrivateSetterContractResolver()
};

var model = JsonConvert.DeserializeObject<Model>(json, settings);

About

Custom contract resolver for Newtonsoft JSON.Net, supporting private setters

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 57.3%
  • JavaScript 42.7%