Shapeless 0.0.5

dotnet add package Shapeless --version 0.0.5                
NuGet\Install-Package Shapeless -Version 0.0.5                
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="Shapeless" Version="0.0.5" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Shapeless --version 0.0.5                
#r "nuget: Shapeless, 0.0.5"                
#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.
// Install Shapeless as a Cake Addin
#addin nuget:?package=Shapeless&version=0.0.5

// Install Shapeless as a Cake Tool
#tool nuget:?package=Shapeless&version=0.0.5                

Shapeless

license nuget dotNET China

Shapeless is a high-performance C# open-source library that offers a flexible manipulation experience akin to JavaScript JSON, supporting dynamic addition, deletion, lookup, and modification along with Linq and Lambda expression queries. It significantly simplifies the construction and manipulation of runtime objects while maintaining simplicity and robust performance characteristics.

Features

  • Flexible JSON Manipulation: Offers functionalities for adding, deleting, querying, and modifying similar to JavaScript, with compatibility for Linq and Lambda expressions.
  • Web Development Friendly: Seamlessly integrates with ASP.NET Core WebAPI and MVC, simplifying HTTP request handling and API development processes.
  • Dynamic Data Processing: Supports dynamic object construction and type conversion, featuring an efficient built-in data validation mechanism.
  • Serialization Support: Provides fast JSON serialization and deserialization capabilities, suitable for data exchange and storage needs.
  • Reactive Listening: Supports monitoring changes in values and removal of keys within JSON objects, automatically triggering event notifications.
  • Architectural Design: The design is flexible, making it easy to use and extend.
  • Cross-platform Without Dependencies: Supports cross-platform execution without requiring external dependencies.
  • High-quality Code Assurance: Adheres to high-standard coding norms, boasting unit test and integration test coverage as high as 98%.
  • .NET 8+ Compatibility: Can be deployed and used in environments running .NET 8 and higher versions.

Installation

dotnet add package Shapeless

Getting Started

We have many examples on our homepage. Here's your first one to get you started:

dynamic clay = Clay.Parse("""{"id":1,"name":"shapeless"}""");

// Add Property
clay.author = "百小僧";
clay["company"] = "百签科技";
clay.homepage = new[] { "https://furion.net/", "https://baiqian.com" };
clay.number = 10;

// Add Method
clay.sayHello = (Func<string>)(() => $"Hello, {clay.name}!");
clay.Increment = new Action(() => { clay.number++; });

// Call Method
Console.WriteLine(clay.number); // number: 10
clay.Increment();
Console.WriteLine(clay.number); // number: 11

// Print JSON
Console.WriteLine($"{clay.sayHello()}\r\n{clay.ToJsonString()}");

After running the above code, the console outputs the following content:

10
11
Hello, shapeless!
{"id":1,"name":"shapeless","author":"百小僧","company":"百签科技","homepage":["https://furion.net/","https://baiqian.com"],"number":11}

More Documentation

Documentation

You can find the Shapeless documentation on our homepage.

Contributing

The main purpose of this repository is to continue developing the core of Shapeless, making it faster and easier to use. The development of Shapeless is publicly hosted on Gitee, and we appreciate community contributions for bug fixes and improvements.

License

Shapeless is released under the MIT open source license.

alternate text is missing from this package README image

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

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
0.0.5 0 1/10/2025
0.0.4 57 1/7/2025
0.0.3 67 1/6/2025