Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
managedcode avatar

System Text Json Net11

  • 14 installs
  • 466 repo stars
  • Updated July 25, 2026
  • managedcode/dotnet-skills

Helps with ai & agent building tasks.

About

system-text-json-net11 is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • system-text-json-net11
  • AI & Agent Building
  • AI-coding skill

System Text Json Net11 by the numbers

  • 14 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #11,275 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/managedcode/dotnet-skills --skill system-text-json-net11

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs14
repo stars466
Last updatedJuly 25, 2026
Repositorymanagedcode/dotnet-skills

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

System.Text.Json — .NET 11

New APIs added to System.Text.Json across .NET 11 releases.

When to Use

  • Serializing or deserializing JSON in a .NET 11 (or later) project
  • Needing strongly-typed JsonTypeInfo<T> access instead of the untyped JsonTypeInfo overload
  • Wanting to safely check whether type metadata is available without catching exceptions (TryGetTypeInfo<T>)
  • Requiring PascalCase property naming during JSON serialization

When Not to Use

  • The project targets .NET 10 or earlier — these APIs are not available before .NET 11
  • Using a JSON library that is not System.Text.Json (e.g., Newtonsoft.Json)
  • The existing untyped GetTypeInfo(Type) / TryGetTypeInfo(Type, ...) overloads are sufficient

Target Framework

<TargetFramework>net11.0</TargetFramework>

New APIs

Typed JsonTypeInfo Access

JsonSerializerOptions.GetTypeInfo<T>()

Returns a strongly-typed JsonTypeInfo<T> for the specified type, using the options' configured type-info resolver.

JsonTypeInfo<T> GetTypeInfo<T>()
JsonSerializerOptions.TryGetTypeInfo<T>(out JsonTypeInfo<T>?)

Attempts to retrieve typed metadata without throwing if the type is not resolved.

bool TryGetTypeInfo<T>(out JsonTypeInfo<T>? typeInfo)

JsonNamingPolicy.PascalCase

A new static property that converts property names to PascalCase during serialization.

static JsonNamingPolicy PascalCase { get; }

Examples

Get Typed JsonTypeInfo

using System.Text.Json;
using System.Text.Json.Serialization.Metadata;

var options = new JsonSerializerOptions(JsonSerializerDefaults.Web);

// Retrieve strongly-typed metadata for MyClass
JsonTypeInfo<MyClass> typeInfo = options.GetTypeInfo<MyClass>();
Console.WriteLine($"Type: {typeInfo.Type.Name}");

TryGetTypeInfo for Safe Access

using System.Text.Json;
using System.Text.Json.Serialization.Metadata;

var options = new JsonSerializerOptions(JsonSerializerDefaults.Web);

if (options.TryGetTypeInfo<MyClass>(out var info))
{
    Console.WriteLine($"Resolved type info for {info!.Type.Name}");
}
else
{
    Console.WriteLine("Type info not available");
}

PascalCase Naming Policy

using System.Text.Json;

var opts = new JsonSerializerOptions
{
    PropertyNamingPolicy = JsonNamingPolicy.PascalCase
};

var obj = new { firstName = "John", lastName = "Doe" };
string json = JsonSerializer.Serialize(obj, opts);
Console.WriteLine(json);
// Output: {"FirstName":"John","LastName":"Doe"}

Combined: Serialize with Typed Metadata

using System.Text.Json;
using System.Text.Json.Serialization.Metadata;

var options = new JsonSerializerOptions
{
    PropertyNamingPolicy = JsonNamingPolicy.PascalCase
};

JsonTypeInfo<Person> typeInfo = options.GetTypeInfo<Person>();
string json = JsonSerializer.Serialize(new Person("Jane", 30), typeInfo);
Console.WriteLine(json);
// Output: {"Name":"Jane","Age":30}

public record Person(string Name, int Age);

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.