https://github.com/danielwertheim/jsonnet-contractresolvers
Custom contract resolvers for Newtonsoft JSON.Net, supporting e.g. private setters and private constructors.
https://github.com/danielwertheim/jsonnet-contractresolvers
csharp dotnet json-net jsonnet newtonsoft-json
Last synced: 21 days ago
JSON representation
Custom contract resolvers for Newtonsoft JSON.Net, supporting e.g. private setters and private constructors.
- Host: GitHub
- URL: https://github.com/danielwertheim/jsonnet-contractresolvers
- Owner: danielwertheim
- License: mit
- Created: 2019-01-06T16:06:12.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T15:13:57.000Z (almost 3 years ago)
- Last Synced: 2025-09-04T15:59:01.746Z (about 1 month ago)
- Topics: csharp, dotnet, json-net, jsonnet, newtonsoft-json
- Language: C#
- Size: 30.3 KB
- Stars: 14
- Watchers: 1
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# JsonNet.ContractResolvers
[](https://www.nuget.org/packages/JsonNet.ContractResolvers)
[](https://choosealicense.com/licenses/mit/)
[](https://dev.azure.com/daniel-wertheim/os/_build/latest?definitionId=11&branchName=master)Tiny solution providing pre-made `ContractResolver` implementations for [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json), resolvers that supports private property setters and private constructors.
## Replaces eariler repos and NuGets
Previous repo and NuGet distributions that this repo replaces are:- https://github.com/danielwertheim/jsonnet-privatesetterscontractresolvers
- https://www.nuget.org/packages/JsonNet.PrivateSettersContractResolvers/
- https://www.nuget.org/packages/JsonNet.PrivateSettersContractResolvers.Source/## Usage
```
Install-Package JsonNet.ContractResolvers
```After that, you just consume it by creating an instance of either:
- `PrivateSetterContractResolver` - extends `DefaultContractResolver` with support for private setters.
- `PrivateSetterAndCtorContractResolver`- extends `DefaultContractResolver` with support for private setters and private constructors.
- `PrivateSetterCamelCasePropertyNamesContractResolver` - extends `CamelCasePropertyNamesContractResolver` with support for private setters.
- `PrivateSetterAndCtorCamelCasePropertyNamesContractResolver`- extends `CamelCasePropertyNamesContractResolver` with support for private setters and private constructors.which you then assign to the `JsonSerializerSettings.ContractResolver`.
```csharp
var settings = new JsonSerializerSettings
{
ContractResolver = new PrivateSetterContractResolver()
};var model = JsonConvert.DeserializeObject(json, settings);
```