public static async Task CreateClassfromJsonSchema(string url) { JsonSchema4 jsonSchema = await JsonSchema4.FromUrlAsync(url); CSharpGenerator generator = new CSharpGenerator(jsonSchema); string file = generator.GenerateFile(); }
public static async Task CreateClassfromJsonSchema(string url, string name) { JsonSchema4 jsonSchema = await JsonSchema4.FromUrlAsync(url); CSharpGenerator generator = new CSharpGenerator(jsonSchema); generator.Settings.ArrayBaseType = "System.Collections.Generic.List"; generator.Settings.ArrayType = "System.Collections.Generic.List"; generator.Settings.EnumNameGenerator = new EnumNameGenerator(); generator.Settings.GenerateDataAnnotations = false; generator.Settings.GenerateJsonMethods = false; generator.Settings.Namespace = "LETin.Billingo.Api"; generator.Settings.ClassStyle = CSharpClassStyle.Poco; var text = generator.GenerateFile(name); while (text.Contains(" ")) { text = text.Replace(" ", " "); } text = text.Replace("\n \n", "\n"); while (text.Contains("\n\n")) { text = text.Replace("\n\n", "\n"); } text = text.Replace("#pragma warning disable // Disable all warnings", ""); await File.WriteAllTextAsync($"{baseDirectory}/{name}.Generated.cs", text); }
public async Task When_json_schem_is_loaded_via_url_then_it_works() { //// Arrange //// Act var schema = await JsonSchema4.FromUrlAsync("http://json-schema.org/card"); var json = schema.ToJson(); //// Assert Assert.IsNotNull(json); }
public async Task When_json_schema_is_loaded_then_no_collection_modified_exception_is_thrown() { // https://github.com/NJsonSchema/NJsonSchema/issues/288 //// Arrange //// Act var schema = await JsonSchema4.FromUrlAsync("http://schemas.sportradar.com/bsa/json/v1/endpoints/soccer/team_profile.json"); var json = schema.ToJson(); //// Assert Assert.IsNotNull(json); }
/// <exception cref="ArgumentException">The argument 'Input' was empty.</exception> protected async Task <JsonSchema4> GetJsonSchemaAsync() { var input = Input.ToString(); if (string.IsNullOrEmpty(input)) { throw new ArgumentException("The argument 'Input' was empty."); } if (IsJson(input)) { return(await JsonSchema4.FromJsonAsync(input).ConfigureAwait(false)); } if (await DynamicApis.FileExistsAsync(input).ConfigureAwait(false)) { return(await JsonSchema4.FromFileAsync(input).ConfigureAwait(false)); } return(await JsonSchema4.FromUrlAsync(input).ConfigureAwait(false)); }
private ProjectConfigValidator(Uri schemaUrl) { JsonSchema = JsonSchema4.FromUrlAsync(schemaUrl.AbsoluteUri).Result; }