Loading...

Json Schema Patterns in .NET - Maps of strings to strongly typed values

Json Schema Patterns in .NET - Maps of strings to strongly typed values

In this post, we'll explore the common patterns of using unevaluatedProperties in conjunction with C# and JSON Schema to create maps of strings to strongly typed values. This is a powerful technique that allows you to define JSON objects with a flexible structure while still enforcing the expected types of their property values.

The technique involves using the unevaluatedProperties keyword in your JSON Schema to define a pattern that maps any string keys provided in an object to their corresponding strongly typed values. This enables you to construct JSON data that conforms to a schema without necessarily pre-defining all of its keys.

We delve into how to effectively use this pattern in C#, culminating in a fully-functional code sample demonstrating how to create a custom serializer for our expected schema format.

By the end of this post, you will learn how to leverage this powerful technique to build dynamic JSON objects, enforcing strongly typed values for properties while maintaining the flexibility of a schema supporting running system updates with minimal breaking changes.

The post(Json Schema Patterns in .NET - Maps of strings to strongly typed values) appeared first on Endjin.

Published on:

Learn more
endjin.com
endjin.com

We help small teams achieve big things.

Share post:

Related posts

Safe JSON Schema Validation with .NET's JsonElement

Learn how Corvus.JsonSchema can be used to maximize the secure utilization of .NET's high-performance JSON parsing. Specifically, System.Text....

3 months ago

.NET JsonElement Error Handling

.NET's System.Text.Json offers very high performance JSON parsing. However, JsonElement's text parsing methods offer a trap for the unwary

5 months ago

How .NET 8.0 boosted JSON Schema performance by 20%

We benchmarked endjin's JSON Schema library on .NET 8.0 and saw large performance gains. There are even more gains to be had with new .NET 8 f...

7 months ago

How .NET 8.0 boosted JSON Schema performance by 20%

When we benchmarked endjin's JSON Schema validation library on .NET 8.0, we were delighted to see substantial performance gains, with no extra...

8 months ago

High Performance JSON Serialization With Code Generation on C# 11 and .NET 7.0

Looking for ways to improve the parsing and generation of JSON data in your .NET applications? This talk showcases how recent features added t...

9 months ago

Ian Griffiths presenting High Performance JSON Serialization with Code Generation on .NET 7.0

Ian Griffiths is presenting at at JetBrains .NET Day Online about JSON Serialization with Code Generation on .NET 7.0

10 months ago

Announcing dynamic JSON in the Azure Core library for .NET

The Azure Core library for .NET now includes the ability to handle dynamic JSON. The new dynamic type enables raw JSON data to be treated as a...

1 year ago

Ian Griffiths presenting at Visual Studio Live! 2022 @ Microsoft HQ

Ian Griffiths is presenting at Visual Studio Live! on the Microsoft Campus about .NET 6.0 Cold Start in the Cloud, Reaqtor and high performanc...

1 year ago

Ian Griffiths presenting at Visual Studio Live! 2022 San Diego

Ian Griffiths is presenting at Visual Studio Live! In San Diego about JSON Serialization with Code Generation on C# 10, Reaqtor, and .NET Cold...

1 year ago

What is a JSON Schema? Intro to JSON

If you're new to JSON, this video provides an introduction to the concept and explains the benefits of using a JSON schema. JSON, or JavaScrip...

3 years ago
Stay up to date with latest Microsoft Dynamics 365 and Power Platform news!
* Yes, I agree to the privacy policy