• Stars
    star
    875
  • Rank 52,157 (Top 2 %)
  • Language
    C#
  • License
    MIT License
  • Created over 4 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

System.Text.Json-based support for all of your JSON needs.

NEW!!! json-everything now has a blog that covers how to use the technologies provided by this project as well as everything else JSON!

NEW!!! json-everything has a new documentation site that provides guides, examples, release notes, and full API reference!



Build & Test Test results Percentage of issues still open Average time to resolve an issue License

JsonSchema.Net NuGet version NuGet version
JsonSchema.Net.Generation NuGet version NuGet version
JsonSchema.Net.DataGeneration NuGet version NuGet version
JsonSchema.Net.Data NuGet version NuGet version
JsonSchema.Net.OpenApi NuGet version NuGet version
JsonSchema.Net.UniqueKeys NuGet version NuGet version
JsonPointer.Net NuGet version NuGet version
JsonPath.Net NuGet version NuGet version
JsonPatch.Net NuGet version NuGet version
JsonLogic NuGet version NuGet version
Json.More.Net NuGet version NuGet version
Yaml2JsonNode NuGet version NuGet version
Supported languages for JsonSchema.Net
Spanish JsonSchema.Net.es NuGet version NuGet version
Play Learn Discuss Ask Built with
Try it online
json-everything.net
Read the docs
Documentation
Discuss on Slack Discuss on Slack Made with Jetbrains Resharper

json-everything also has a blog!

What is json-everything?

The primary philosophy behind json-everything is to ensure that common JSON functionality has good support in the System.Text.Json space.

The first step to that is checking whether there exist other projects that support a given function.

If so, that effort likely won't be duplicated here. A bit farther down you'll find a list of other projects that are doing some cool things with JSON.

Otherwise, it's open to consideration for this project.

What's in the box?

There are actually multiple boxes. Each piece of functionality has been broken out into its own library, so you can pick an choose the one(s) that you need.

  • JSON Schema (drafts 6 and higher)
    • Generation of schemas from .Net types supported in an additional library
    • Random instance data generation (powered by Bogus)
    • OpenApi 3.1 vocabulary extension
    • A vocabulary for accessing instance and external data
    • A vocabulary for validating item uniqueness based on specific item values
  • JSON Path (RFC in progress) (.Net Standard 2.1) (please see issue #309 regarding future support)
  • JSON Patch (RFC 6902)
  • JsonLogic (.Net Standard 2.1)
  • JSON Pointer (RFC 6901)
  • Relative JSON Pointer
  • Json.More.Net
    • Just some general-use extensions that probably should be included in System.Text.Json(.Nodes) but aren't
  • Yaml2JsonNode
    • When you use YamlDotNet to parse YAML text, this library will convert it to JsonNode for you! Then you can use that data wherever you already have support for JsonNode (like all of those ☝️).

Please see

You can also view JSON Schema Test Suite results on Bowtie, which runs the test suite against multiple implementations across different platforms.

DISCLAIMER My library, JsonSchema.Net is not related to or associated with the website https://jsonschema.net, except that they are both excellent JSON Schema tools.

System.Text.Json support by other projects

If you don't find what you're looking for here, please try one of these excellent projects:

If you use JSON to do something that is not covered by a library in this suite or one of the above projects, feel free to create a feature issue.

If you have or know of another project that extends System.Text.Json to do cool things, I'd like to list it here, so please create a general issue to let me know about it.