Update – September 2016:
Json.NET 9.0.1 has SnakeCaseNamingStrategy. You can use that to have twitter_screen_name style properties automatically.
Inherit from DefaultContractResolver
and override ResolvePropertyName
to format property names as you’d like.
CamelCasePropertyNamesContractResolver
does a similar global change to property names.