JsonToCSharpConverter0121 2.0.0

dotnet add package JsonToCSharpConverter0121 --version 2.0.0
                    
NuGet\Install-Package JsonToCSharpConverter0121 -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="JsonToCSharpConverter0121" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="JsonToCSharpConverter0121" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="JsonToCSharpConverter0121" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add JsonToCSharpConverter0121 --version 2.0.0
                    
#r "nuget: JsonToCSharpConverter0121, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package JsonToCSharpConverter0121@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=JsonToCSharpConverter0121&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=JsonToCSharpConverter0121&version=2.0.0
                    
Install as a Cake Tool

JSON to C# Converter

Overview

A simple utility for converting JSON structures into C# record declarations. This tool helps developers generate strongly typed C# objects.

Features

  • Parses JSON and converts it into structured C# records.
  • Supports customizable options for naming conventions and nullable properties.
  • Handles JSON validation before conversion.

Installation

To use this package, include it in your project:

// Add the required using directives
using JsonToCSharpConverter0121;

Usage

Basic Conversion To convert JSON into C# records, use:

string json = "{ \"name\": \"John\", \"age\": 30 }";
var result = JsonToCSharpConverter.CreateFullText(json);

if (result.IsSuccess)
{
    Console.WriteLine(result.Value);
}

Configuration Options

You can customize how the conversion works using CSharpToJson0121Options

var result = JsonToCSharpConverter.CreateFullText(json, options =>
{
    options.Nullable = Nullable.AllProperties;
    options.RootRecordName = "CustomRoot";
});

Options Explained

Option Description
Nullable Specifies how nullable properties are handled
RootRecordName Sets the name of the root record
PropertyCreationMethod Determines how properties are generated (e.g., as positional parameters or init-only properties) and controls formatting such asmultiline layout based on property count
CollectionType Defines the collection type used where a collection is required
TypeNamingConvention Specifies how type names should be generated (PropertyName or NestedPositionName)

Example Output

Given the JSON:

{
  "name": "John",
  "age": 30
}
public record Root(string Name, int Age);

Contributing

Feel free to submit pull requests or report issues. Feedback is always welcome!

License

MIT License. See LICENSE file for details.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 186 7/30/2025
1.2.0 198 7/14/2025
1.1.1 282 6/8/2025
1.1.0 150 6/6/2025
1.0.0 195 6/4/2025