using Newtonsoft.Json.Linq;
public static class Program {
public static void Main() {
var createSubscriber = new {
Email = "nome@exemplo.com.br",
FullName = "Nome Sobrenome",
Phone_Number = "934343434",
Street = "Rua Nome da Rua",
District = "Nome do Bairro",
Holder_Name = "Nome Completo",
Number = "4111111111111111",
string json = string.Empty;
json = JsonConvert.SerializeObject(createSubscriber);
JObject jObject = JObject.Parse(json);
jObject["Address"]["streetNumber"].Rename("number");
jObject["Address"]["zipCode"].Rename("zipcode");
json = jObject.ToString();
catch(System.Exception ex) {
public static void Rename(this JToken token, string newName) {
if (token == null) throw new ArgumentNullException("token", "Cannot rename a null token");
if (token.Type == JTokenType.Property) {
if (token.Parent == null) throw new InvalidOperationException("Cannot rename a property with no parent");
property = (JProperty) token;
if (token.Parent == null || token.Parent.Type != JTokenType.Property) throw new InvalidOperationException("This token's parent is not a JProperty; cannot rename");
property = (JProperty) token.Parent;
var newProperty = new JProperty(newName, property.Value);
property.Replace(newProperty);
[JsonProperty("streetNumber", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string StreetNumber { get; set; }
[JsonProperty("street", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string Street { get; set; }
[JsonProperty("city", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string City { get; set; }
[JsonProperty("complement", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string Complement { get; set; }
[JsonProperty("district", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string District { get; set; }
[JsonProperty("zipCode", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string ZipCode { get; set; }
[JsonProperty("state", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string State { get; set; }
[JsonProperty("type", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string Type { get; set; }
[JsonProperty("country", DefaultValueHandling = DefaultValueHandling.Ignore)]
public string Country { get; set; }