RonCS 0.1.4
dotnet add package RonCS --version 0.1.4
NuGet\Install-Package RonCS -Version 0.1.4
<PackageReference Include="RonCS" Version="0.1.4" />
<PackageVersion Include="RonCS" Version="0.1.4" />
<PackageReference Include="RonCS" />
paket add RonCS --version 0.1.4
#r "nuget: RonCS, 0.1.4"
#:package RonCS@0.1.4
#addin nuget:?package=RonCS&version=0.1.4
#tool nuget:?package=RonCS&version=0.1.4
RonCS
Ron CS is a serializer/deserializer library for Ron and C#, letting you convert C# objects into Ron files, and Ron files back into C# objects.
Compared to JSON and XML, Ron is more human readable and has built in type names.
For most types they're public fields/properties and be serialized using
Ron.Serialize(o) and deserialized with Ron.Deserialize<MyType>(ronString).
// A file encoded as RON.
Sequence(
children: [
FindFood(
variableName: "food"
),
NavigateTo(
target: "food"
),
Acquire(
target: "food"
)
]
)
Docs
Getting Started
Installation
Run dotnet add package RonCS
Serializing and Deserializing
Convert an object to a ron string.
// C# source code
User user = new User {
username = "foo@bar.com",
name = "Foo"
};
string ron = Ron.Serialize(user);
// Ron document
User(
username: "foo@bar.com",
name: "Foo"
)
Converting an object back to C#
User original = Ron.Deserialize<User>(ron);
// Original will be the same as the user that was originally constructed
Deserializing polymorphic types
To deserialize polymorphic types they have to be registered first so that the deserializer knows about them.
// Example Ron document
Sequence(
children: [
FindFood(
variableName: "food"
),
NavigateTo(
target: "food"
)
Acquire(
target: "food"
)
]
)
// Register polymorphic types
Ron.RegisterTypes(
typeof(Sequence),
typeof(FindFood),
typeof(NavigateTo),
typeof(Acquire)
);
// Deserialize ron document.
BehaviorTree behaviorTree = Ron.Deserialize<BehaviorTree>(ronString);
| Product | Versions 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 was computed. 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. |
-
net8.0
- Superpower (>= 3.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.