当前位置: 首页>>代码示例>>C#>>正文


C# Schema.JsonSchemaBuilder类代码示例

本文整理汇总了C#中Newtonsoft.Json.Schema.JsonSchemaBuilder的典型用法代码示例。如果您正苦于以下问题:C# JsonSchemaBuilder类的具体用法?C# JsonSchemaBuilder怎么用?C# JsonSchemaBuilder使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


JsonSchemaBuilder类属于Newtonsoft.Json.Schema命名空间,在下文中一共展示了JsonSchemaBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Simple

    public void Simple()
    {
      string json = @"
{
  ""description"": ""A person"",
  ""type"": ""object"",
  ""properties"":
  {
    ""name"": {""type"":""string""},
    ""hobbies"": {
      ""type"": ""array"",
      ""items"": {""type"":""string""}
    }
  }
}
";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("A person", schema.Description);
      Assert.AreEqual(JsonSchemaType.Object, schema.Type);

      Assert.AreEqual(2, schema.Properties.Count);

      Assert.AreEqual(JsonSchemaType.String, schema.Properties["name"].Type);
      Assert.AreEqual(JsonSchemaType.Array, schema.Properties["hobbies"].Type);
      Assert.AreEqual(JsonSchemaType.String, schema.Properties["hobbies"].Items[0].Type);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:29,代码来源:JsonSchemaBuilderTests.cs

示例2: MultipleTypes

    public void MultipleTypes()
    {
      string json = @"{
  ""description"":""Age"",
  ""type"":[""string"", ""integer""]
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("Age", schema.Description);
      Assert.AreEqual(JsonSchemaType.String | JsonSchemaType.Integer, schema.Type);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:13,代码来源:JsonSchemaBuilderTests.cs

示例3: UnresolvedReference

    public void UnresolvedReference()
    {
      ExceptionAssert.Throws<Exception>(@"Could not resolve schema reference 'MyUnresolvedReference'.",
        () =>
          {
            string json = @"{
  ""id"":""CircularReferenceArray"",
  ""description"":""CircularReference"",
  ""type"":[""array""],
  ""items"":{""$ref"":""MyUnresolvedReference""}
}";

            JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
            JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));
          });
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:16,代码来源:JsonSchemaBuilderTests.cs

示例4: MultipleItems

    public void MultipleItems()
    {
      string json = @"{
  ""description"":""MultipleItems"",
  ""type"":""array"",
  ""items"": [{""type"":""string""},{""type"":""array""}]
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("MultipleItems", schema.Description);
      Assert.AreEqual(JsonSchemaType.String, schema.Items[0].Type);
      Assert.AreEqual(JsonSchemaType.Array, schema.Items[1].Type);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:15,代码来源:JsonSchemaBuilderTests.cs

示例5: UnresolvedReference

    public void UnresolvedReference()
    {
      string json = @"{
  ""id"":""CircularReferenceArray"",
  ""description"":""CircularReference"",
  ""type"":[""array""],
  ""items"":{""$ref"":""MyUnresolvedReference""}
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:12,代码来源:JsonSchemaBuilderTests.cs

示例6: Options

    public void Options()
    {
      string json = @"{
  ""description"":""NZ Island"",
  ""type"":""string"",
  ""options"":
  [
    {""value"":""NI"",""label"":""North Island""},
    {""value"":""SI"",""label"":""South Island""}
  ]
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("NZ Island", schema.Description);
      Assert.AreEqual(JsonSchemaType.String, schema.Type);

      Assert.AreEqual(2, schema.Options.Count);
      Assert.AreEqual("North Island", schema.Options[new JValue("NI")]);
      Assert.AreEqual("South Island", schema.Options[new JValue("SI")]);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:22,代码来源:JsonSchemaBuilderTests.cs

示例7: DefaultPrimitiveType

    public void DefaultPrimitiveType()
    {
      string json = @"{
  ""description"":""DefaultPrimitiveType"",
  ""default"":1.1
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("DefaultPrimitiveType", schema.Description);
      Assert.AreEqual(1.1, (double)schema.Default);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:13,代码来源:JsonSchemaBuilderTests.cs

示例8: DisallowSingleType

    public void DisallowSingleType()
    {
      string json = @"{
  ""description"":""DisallowSingleType"",
  ""disallow"":""string""
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("DisallowSingleType", schema.Description);
      Assert.AreEqual(JsonSchemaType.String, schema.Disallow);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:13,代码来源:JsonSchemaBuilderTests.cs

示例9: AdditionalProperties

    public void AdditionalProperties()
    {
      string json = @"{
  ""description"":""AdditionalProperties"",
  ""type"":[""string"", ""integer""],
  ""additionalProperties"":{""type"":[""object"", ""boolean""]}
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Parse(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("AdditionalProperties", schema.Description);
      Assert.AreEqual(JsonSchemaType.Object | JsonSchemaType.Boolean, schema.AdditionalProperties.Type);
    }
开发者ID:Gert-Cominotto,项目名称:MvvmCross,代码行数:14,代码来源:JsonSchemaBuilderTests.cs

示例10: EscapedReferences

    public void EscapedReferences()
    {
      string json = @"{
            ""tilda~field"": {""type"": ""integer""},
            ""slash/field"": {""type"": ""object""},
            ""percent%field"": {""type"": ""array""},
            ""properties"": {
                ""tilda"": {""$ref"": ""#/tilda~0field""},
                ""slash"": {""$ref"": ""#/slash~1field""},
                ""percent"": {""$ref"": ""#/percent%25field""}
            }
        }";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual(JsonSchemaType.Integer, schema.Properties["tilda"].Type);
      Assert.AreEqual(JsonSchemaType.Object, schema.Properties["slash"].Type);
      Assert.AreEqual(JsonSchemaType.Array, schema.Properties["percent"].Type);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:20,代码来源:JsonSchemaBuilderTests.cs

示例11: Reference_NonStandardLocation

    public void Reference_NonStandardLocation()
    {
      string json = @"{
  ""properties"": {
    ""bar"": {""$ref"": ""#/common/foo""},
    ""foo"": {""$ref"": ""#/common/foo""}
  },
  ""common"": {
    ""foo"": {""type"": ""integer""}
  }
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual(schema.Properties["foo"], schema.Properties["bar"]);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:17,代码来源:JsonSchemaBuilderTests.cs

示例12: Location

    public void Location()
    {
      string json = @"{
  ""properties"":{
    ""foo"":{
      ""type"":""array"",
      ""items"":[
        {
          ""type"":""integer""
        },
        {
          ""properties"":{
            ""foo"":{
              ""type"":""integer""
            }
          }
        }
      ]
    }
  }
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.AreEqual("#", schema.Location);
      Assert.AreEqual("#/properties/foo", schema.Properties["foo"].Location);
      Assert.AreEqual("#/properties/foo/items/1/properties/foo", schema.Properties["foo"].Items[1].Properties["foo"].Location);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:29,代码来源:JsonSchemaBuilderTests.cs

示例13: AllowAdditionalItems

    public void AllowAdditionalItems()
    {
      string json = @"{
    ""items"": {},
    ""additionalItems"": false
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.IsNull(schema.AdditionalItems);
      Assert.AreEqual(false, schema.AllowAdditionalItems);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:13,代码来源:JsonSchemaBuilderTests.cs

示例14: AdditionalItems

    public void AdditionalItems()
    {
      string json = @"{
    ""items"": [],
    ""additionalItems"": {""type"": ""integer""}
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.IsNotNull(schema.AdditionalItems);
      Assert.AreEqual(JsonSchemaType.Integer, schema.AdditionalItems.Type);
      Assert.AreEqual(true, schema.AllowAdditionalItems);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:14,代码来源:JsonSchemaBuilderTests.cs

示例15: PatternProperties

    public void PatternProperties()
    {
      string json = @"{
  ""patternProperties"": {
    ""[abc]"": { ""id"":""Blah"" }
  }
}";

      JsonSchemaBuilder builder = new JsonSchemaBuilder(new JsonSchemaResolver());
      JsonSchema schema = builder.Read(new JsonTextReader(new StringReader(json)));

      Assert.IsNotNull(schema.PatternProperties);
      Assert.AreEqual(1, schema.PatternProperties.Count);
      Assert.AreEqual("Blah", schema.PatternProperties["[abc]"].Id);
    }
开发者ID:GCC-Autobahn,项目名称:Newtonsoft.Json,代码行数:15,代码来源:JsonSchemaBuilderTests.cs


注:本文中的Newtonsoft.Json.Schema.JsonSchemaBuilder类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。