Skip to content

Instantly share code, notes, and snippets.

View hannan-sultan's full-sized avatar
🚀
Thinking....

Muhammad Hannan hannan-sultan

🚀
Thinking....
View GitHub Profile
@hannan-sultan
hannan-sultan / Startup.cs
Created October 27, 2019 05:36
Adding a custom json policy in ASP.Net Core 3
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers()
.AddJsonOptions(
options =>
{
options.JsonSerializerOptions.PropertyNamingPolicy =
SnakeCaseNamingPolicy.Instance;
}); ;
}
@hannan-sultan
hannan-sultan / StringUtils
Created October 27, 2019 05:36
String extension method to convert the given string to snake case
public static class StringUtils
{
public static string ToSnakeCase(this string str)
{
return string.Concat(str.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x.ToString() : x.ToString())).ToLower();
}
}
@hannan-sultan
hannan-sultan / SnakeCaseNamingPolicy.cs
Last active October 27, 2019 05:35
Adding custom naming conventions to the System.Text.Json
public class SnakeCaseNamingPolicy : JsonNamingPolicy
{
public static SnakeCaseNamingPolicy Instance { get; } = new SnakeCaseNamingPolicy();
public override string ConvertName(string name)
{
// Conversion to other naming conventaion goes here. Like SnakeCase, KebabCase etc.
return name.ToSnakeCase();
}
}