Reputation: 434
I am using Newtonsoft JsonProperty attribute to Deserialize some ugly Json data into my class like this :
[JsonProperty("1. open")]
public decimal Open { get; set; }
[JsonProperty("2. high")]
public decimal High { get; set; }
So "1. open" and "2. high" get parsed into Open and High properties etc.
I would like to use these JsonProperties for deserialization only, is that possible? If I were to go and serialize this data back to Json, I would want to get something like this: { Open: 0.00, High: 0.00 }
Upvotes: 0
Views: 688
Reputation: 12546
You can create a ContractResolver as below
public class MyConractResolver: DefaultContractResolver
{
protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization)
{
var p = base.CreateProperty(member, memberSerialization);
p.PropertyName = member.Name;
return p;
}
}
and use it at serialization as
var json = JsonConvert.SerializeObject(myobj, new JsonSerializerSettings() {
ContractResolver = new MyConractResolver()
});
Upvotes: 1