我在反序列化 json 时尝试更新/更改类中的值。
我需要在 JsonConverter 中执行此操作,但我收到此错误: 状态属性中的 Token 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
}
}