{"id":24399647,"url":"https://github.com/open-net-libraries/open.serialization","last_synced_at":"2025-10-04T08:55:43.747Z","repository":{"id":40005902,"uuid":"217871784","full_name":"Open-NET-Libraries/Open.Serialization","owner":"Open-NET-Libraries","description":"DI/IoC agnostic interfaces for injecting any serialization library.","archived":false,"fork":false,"pushed_at":"2024-10-14T02:13:36.000Z","size":248,"stargazers_count":16,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T11:04:32.824Z","etag":null,"topics":["dependency-injection","di","dotnet","dotnet-core","dotnet-standard","dotnetcore","dotnetstandard","ioc","json","newtonsoft","serialization","system-text-json","utf8json"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Open-NET-Libraries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-27T15:02:53.000Z","updated_at":"2025-03-29T22:27:35.000Z","dependencies_parsed_at":"2023-01-24T22:16:09.047Z","dependency_job_id":null,"html_url":"https://github.com/Open-NET-Libraries/Open.Serialization","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Serialization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Serialization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Serialization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-NET-Libraries%2FOpen.Serialization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-NET-Libraries","download_url":"https://codeload.github.com/Open-NET-Libraries/Open.Serialization/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248036067,"owners_count":21037092,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dependency-injection","di","dotnet","dotnet-core","dotnet-standard","dotnetcore","dotnetstandard","ioc","json","newtonsoft","serialization","system-text-json","utf8json"],"created_at":"2025-01-19T23:50:48.213Z","updated_at":"2025-10-04T08:55:38.717Z","avatar_url":"https://github.com/Open-NET-Libraries.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Open.Serialization\n\nDI/IoC agnostic interfaces for injecting any serialization library.\n\n## Implementation\n\nWith the following libraries, you can build other libraries that sever their dependency from any serializer and allow you to inject whichever you want.  You can also easily integrate another serializer and still retain the DI/IoC happiness.\n\n### Core Interfaces \u0026 Extensions\n\n[https://www.nuget.org/packages/Open.Serialization](https://www.nuget.org/packages/Open.Serialization/)  \n[![NuGet](https://img.shields.io/nuget/v/Open.Serialization.svg)](https://www.nuget.org/packages/Open.Serialization/) Core package for serializing anything.\n\n[https://www.nuget.org/packages/Open.Serialization.Json](https://www.nuget.org/packages/Open.Serialization.Json/)  \n[![NuGet](https://img.shields.io/nuget/v/Open.Serialization.Json.svg)](https://www.nuget.org/packages/Open.Serialization.Json/) Core package specific to JSON.\n\n### Library/Vendor Specific Implementations\n\n```cs\nservices.AddJsonSerializer();\n```\n\nThe following libs contain support for `Microsoft.Extensions.DependencyInjection`.  \nImport any of these and you can use the above extension to inject default serializers.\n\n[https://www.nuget.org/packages/Open.Serialization.Json.Newtonsoft](https://www.nuget.org/packages/Open.Serialization.Json.Newtonsoft/)  \n[![NuGet](https://img.shields.io/nuget/v/Open.Serialization.Json.Newtonsoft.svg)](https://www.nuget.org/packages/Open.Serialization.Json.Newtonsoft/) Extensions and DI for **Newtonsoft.Json**.\n\n[https://www.nuget.org/packages/Open.Serialization.Json.System](https://www.nuget.org/packages/Open.Serialization.Json.System/)  \n[![NuGet](https://img.shields.io/nuget/v/Open.Serialization.Json.System.svg)](https://www.nuget.org/packages/Open.Serialization.Json.System/) Extensions and DI for **System.Text.Json**.  *Note: There is no `IJsonObjectSerializer` option for `System.Text.Json`.*\n\n[https://www.nuget.org/packages/Open.Serialization.Json.Utf8Json](https://www.nuget.org/packages/Open.Serialization.Json.Utf8Json/)  \n[![NuGet](https://img.shields.io/nuget/v/Open.Serialization.Json.Utf8Json.svg)](https://www.nuget.org/packages/Open.Serialization.Json.Utf8Json/) Extensions and DI for **Utf8Json**.\n\n## Interface \u0026 Methods Exposed\n\n```cs\nT IDeserialize.Deserialize\u003cT\u003e(string value);\nT IDeserialize\u003cT\u003e.Deserialize(string value);\nobject IDeserializeObject.Deserialize(string value, Type type);\n\nValueTask\u003cT\u003e IDeserializeAsync.DeserializeAsync\u003cT\u003e(Stream source, CancellationToken cancellationToken = default);\nValueTask\u003cT\u003e IDeserializeAsync\u003cT\u003e.DeserializeAsync(Stream source, CancellationToken cancellationToken = default);\nValueTask\u003cobject\u003e IDeserializeObjectAsync.DeserializeAsync(Stream source, Type type, CancellationToken cancellationToken = default);\n\nstring ISerialize.Serialize\u003cT\u003e(T item);\nstring ISerialize\u003cT\u003e.Serialize(T item);\nstring ISerializeObject.Serialize(object item, Type type);\n\nValueTask ISerializeAsync.SerializeAsync\u003cT\u003e(Stream target, T item, CancellationToken cancellationToken = default);\nValueTask ISerializeAsync\u003cT\u003e.SerializeAsync(Stream target, T item, CancellationToken cancellationToken = default);\nValueTask ISerializeObjectAsync.SerializeAsync(Stream target, object item, Type type, CancellationToken cancellationToken = default);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-net-libraries%2Fopen.serialization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-net-libraries%2Fopen.serialization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-net-libraries%2Fopen.serialization/lists"}