0

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
        }
    }
Brian Rogers
  • 125,747
  • 31
  • 299
  • 300
Don Juan
  • 171
  • 2
  • 17

0 Answers0