NewtonsoftJson
Newtonsoft.Json (Json.NET) serialization support for FluentDynamoDB. Use this package for compatibility with existing Newtonsoft.Json-based projects or when you need advanced features like polymorphic serialization.
Installation
dotnet add package Oproto.FluentDynamoDb.NewtonsoftJson
Key Features
- Compatibility - Works with existing Newtonsoft.Json configurations
- Rich Feature Set - Access to all Newtonsoft.Json features including polymorphic serialization
- Custom Converters - Built-in converters for DynamoDB-specific types
- Flexible Configuration - Full control over serialization settings via
FluentDynamoDbOptions
Quick Start
Configure Newtonsoft.Json at runtime using FluentDynamoDbOptions:
using Oproto.FluentDynamoDb;
using Oproto.FluentDynamoDb.NewtonsoftJson;
// Default settings
var options = new FluentDynamoDbOptions()
.WithNewtonsoftJson();
var table = new DocumentTable(dynamoDbClient, "documents", options);
Custom JsonSerializerSettings
Pass custom JsonSerializerSettings to control serialization behavior:
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
var jsonSettings = new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
NullValueHandling = NullValueHandling.Ignore,
DateFormatHandling = DateFormatHandling.IsoDateFormat,
Formatting = Formatting.None
};
var options = new FluentDynamoDbOptions()
.WithNewtonsoftJson(jsonSettings);
var table = new DocumentTable(dynamoDbClient, "documents", options);
When to Use Newtonsoft.Json
Consider Newtonsoft.Json when you need:
- Polymorphic serialization with
TypeNameHandling - Custom contract resolvers for complex mapping scenarios
- Reference handling for circular references
- Compatibility with existing Newtonsoft.Json infrastructure
For new projects without these requirements, consider using System.Text.Json for better performance and AOT support.
Documentation
For complete documentation including entity definitions, usage examples, and polymorphic serialization, see the Newtonsoft.Json Serialization Guide.