在JsonConverter ReadJson

时间:2018-07-30 15:08:02

标签: c# json json.net jsonconverter

我在反序列化json时试图更新/更改类中的值。

我需要在JsonConverter中执行此操作,但出现此错误: 状态为Property的令牌PropertyName将导致无效的JSON对象。路径“ [0]”。

这是我的班级

[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; }
}

这是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
        }
    }

0 个答案:

没有答案