{"id":51843793,"url":"https://github.com/launchdarkly/dotnet-jsonstream","last_synced_at":"2026-07-23T09:30:53.284Z","repository":{"id":42446759,"uuid":"321833715","full_name":"launchdarkly/dotnet-jsonstream","owner":"launchdarkly","description":"Streaming JSON encoding and decoding for .NET","archived":false,"fork":false,"pushed_at":"2026-04-10T22:37:36.000Z","size":1142,"stargazers_count":3,"open_issues_count":2,"forks_count":3,"subscribers_count":34,"default_branch":"main","last_synced_at":"2026-04-11T00:22:24.394Z","etag":null,"topics":["c-sharp","csharp","dotnet","feature-flags","feature-toggles","launchdarkly","launchdarkly-sdk","launchdarkly-sdk-component","managed-by-terraform"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/launchdarkly.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-16T01:26:59.000Z","updated_at":"2026-04-10T22:37:38.000Z","dependencies_parsed_at":"2024-12-03T03:01:01.417Z","dependency_job_id":null,"html_url":"https://github.com/launchdarkly/dotnet-jsonstream","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/launchdarkly/dotnet-jsonstream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Fdotnet-jsonstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Fdotnet-jsonstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Fdotnet-jsonstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Fdotnet-jsonstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launchdarkly","download_url":"https://codeload.github.com/launchdarkly/dotnet-jsonstream/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launchdarkly%2Fdotnet-jsonstream/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35798804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-23T02:00:06.683Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["c-sharp","csharp","dotnet","feature-flags","feature-toggles","launchdarkly","launchdarkly-sdk","launchdarkly-sdk-component","managed-by-terraform"],"created_at":"2026-07-23T09:30:53.177Z","updated_at":"2026-07-23T09:30:53.273Z","avatar_url":"https://github.com/launchdarkly.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LaunchDarkly Streaming JSON for .NET\n\n[![NuGet](https://img.shields.io/nuget/v/LaunchDarkly.JsonStream.svg?style=flat-square)](https://www.nuget.org/packages/LaunchDarkly.JsonStream/)\n[![Build and run](https://github.com/launchdarkly/dotnet-jsonstream/actions/workflows/ci.yml/badge.svg)](https://github.com/launchdarkly/dotnet-jsonstream/actions/workflows/ci.yml)\n[![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages\u0026message=API+reference\u0026color=00add8)](https://launchdarkly.github.io/dotnet-jsonstream)\n\n## Overview\n\nThe `LaunchDarkly.JsonStream` library implements a streaming approach to JSON encoding and decoding designed for efficiency at high volume, assuming a text encoding of UTF8. Unlike reflection-based frameworks, it has no knowledge of structs or other complex types; you must explicitly tell it what values and properties to write or read. It was implemented for the [LaunchDarkly server-side .NET SDK](https://github.com/launchdarkly/dotnet-server-sdk) and [LaunchDarkly client-side .NET SDK](http://github.com/launchdarkly/dotnet-client-sdk), but may be useful in other applications.\n\n## Supported .NET versions and platform differences\n\nThis version of the SDK is built for the following targets:\n\n* .NET 6.0\n* .NET 5.0\n* .NET Core 3.1\n* .NET Core 2.1\n* .NET Framework 4.5.2\n* .NET Framework 4.6.1 (also works on .NET Framework 4.7)\n* .NET Standard 2.0 (used on other platforms such as Xamarin)\n\n## `System.Text.Json` support\n\nAll builds of `LaunchDarkly.JsonStream` except for .NET Framework 4.5.2 and .NET Standard 2.0 make use of the `System.Text.Json` API, which is built into the standard runtime library for .NET Core 3.x and .NET 5.x and is imported as a NuGet package on other platforms. Any types that use the `LaunchDarkly.JsonStream.JsonStreamConverter` attribute will automatically be recognized by `System.Text.Json`'s reflection-based APIs.\n\nThe .NET Framework and .NET Standard 2.0 builds of `LaunchDarkly.JsonStream` use a different portable implementation that is not as fast as `System.Text.Json`, but still highly efficient. `System.Text.Json` is not available for .NET Framework 4.5.2. It is available for .NET Standard 2.0, but the .NET Standard 2.0 target of `LaunchDarkly.JsonStream` is also used in Xamarin, and `System.Text.Json` currently has compatibility problems with Xamarin.\n\nThe external API of the library is the same regardless, so portable JSON encoding/decoding logic can be written against `LaunchDarkly.JsonStream` without needing to know the target platform.\n\n## Signing\n\nThe published version of this assembly is both digitally signed by LaunchDarkly and [strong-named](https://docs.microsoft.com/en-us/dotnet/framework/app-domains/strong-named-assemblies). Building the code locally in the default Debug configuration does not sign the assembly and does not require a key file. The public key file is in this repository at `LaunchDarkly.JsonStream.pk` as well as here:\n\n```\nPublic Key:\n0024000004800000940000000602000000240000525341310004000001000100\n9d95e00dd6f9ef0bfc51850129b6b6292b99d4c3a2ab0f35cdfd6879eed457bf\naa79a4c0f848c592727cd6bae3a795eda5533a5c54623918303ecabd1c022da6\nfe90b8c3e4b61c96595c0b90ff8019872fec9b763dcc5156083a29bad49cf685\nf16d1be32d1a13478d59b4c02b4773ad31dceb7828ab8c21ec5b388e1b90c3b0\n\nPublic Key Token: baa039a572ce18d0\n```\n\n## Contributing\n\nWe encourage pull requests and other contributions from the community. Check out our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contribute to this project.\n\n## About LaunchDarkly\n\n* LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard.  With LaunchDarkly, you can:\n    * Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.\n    * Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?).\n    * Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file.\n    * Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline.\n* LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Check out [our documentation](https://docs.launchdarkly.com/docs) for a complete list.\n* Explore LaunchDarkly\n    * [launchdarkly.com](https://www.launchdarkly.com/ \"LaunchDarkly Main Website\") for more information\n    * [docs.launchdarkly.com](https://docs.launchdarkly.com/  \"LaunchDarkly Documentation\") for our documentation and SDK reference guides\n    * [apidocs.launchdarkly.com](https://apidocs.launchdarkly.com/  \"LaunchDarkly API Documentation\") for our API documentation\n    * [blog.launchdarkly.com](https://blog.launchdarkly.com/  \"LaunchDarkly Blog Documentation\") for the latest product updates\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchdarkly%2Fdotnet-jsonstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaunchdarkly%2Fdotnet-jsonstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaunchdarkly%2Fdotnet-jsonstream/lists"}