根据 .NET 中的架构验证 JSON

发布于 2024-08-28 09:33:34 字数 44 浏览 6 评论 0原文

我知道有一个关于 JSON 模式验证的拟议标准,.NET 中有一个实现吗?

I know there is a proposed standard for JSON schema validation, is there an implementation in .NET?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

秋意浓 2024-09-04 09:33:34

Json.NET 的免费开源替代方案是 NJsonSchema(JSON Schema 草案 4)。

A free and open-source alternative to Json.NET is NJsonSchema (JSON Schema draft 4).

半暖夏伤 2024-09-04 09:33:34
  • Json Everything and its predecesor Manatee.Json are quite good and fast.

  • NJsonSchema comfortable api however too slow for our use case (schema closing to 100kb the json in 10s of kbs); the above mentioned Manatee and json-everything have a "flag-only" validation mode which is missing here

  • Newtonsoft (Paid)
    i have not checked this one

耶耶耶 2024-09-04 09:33:34

Json.NET有这个功能。

Json.NET has this functionality.

倦话 2024-09-04 09:33:34

在您的解决方案中添加 Newtonsoft 的 Json NuGet 包。添加以下函数并将架构和字符串中的 json 响应传递给以下函数。

  public void ValidateSchema(JsonSchema JSchema, string JsonString)  {
        JsonString = JsonString.Replace("\"", "'");
        var ArrJobj = JArray.Parse(JsonString);

        foreach (JObject jo in ArrJobj)
        {
            if (!jo.IsValid(JSchema)) throw new Exception("Schems Validation failed");

        }

    }

希望这有帮助

Add Newtonsoft's Json NuGet Package in your solution. Add below function and pass Schema and your json response in string to below function.

  public void ValidateSchema(JsonSchema JSchema, string JsonString)  {
        JsonString = JsonString.Replace("\"", "'");
        var ArrJobj = JArray.Parse(JsonString);

        foreach (JObject jo in ArrJobj)
        {
            if (!jo.IsValid(JSchema)) throw new Exception("Schems Validation failed");

        }

    }

Hope this helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文