I am trying to update/change a value in a class when I Deserializing a json.
I need to do this in a JsonConverter, but I am getting this error: Token PropertyName in state Property would result in an invalid JSON object. Path '[0]'.
This is the my Class
[JsonConverter(typeof(MyConverter))]
public class MyMetaData
{
[JsonProperty("id")]
public string id { get; set; }
[JsonProperty("number")]
public string number { get; set; }
[JsonProperty("stock")]
public int stock { get; set; }
}
And this is the JsonConverter MyConverter
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var jObj = JObject.Load(reader);
var artId = (string)jObj["id"];
int myNewStockValue = StockRepository.Get(artId);
return new MyMetadata() {
id = artId,
number = jObj["number"],
stock = myNewStockValue
}
}