【发布时间】:2021-04-26 07:09:58
【问题描述】:
var result = JsonConvert.DeserializeObject<Risks>(jsonData);
var finalResult = result.Value.Where(x => x.ID == 5).ToList();
return finalResult;
我正在开发一个返回 <IEnumerable<RiskValue> 的 API,反序列化不会导致任何错误,当我返回最终结果时会显示此错误,知道是什么原因造成的吗?
System.InvalidOperationException: The JSON property name for 'HRDF_1.Models.RisksValue.ID' collides
with another property.
System.InvalidOperationException: The JSON property name for 'test_1.Models.RisksValue.ID' collides with another property.
at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_SerializerPropertyNameConflict(Type type, JsonPropertyInfo jsonPropertyInfo)
【问题讨论】:
-
嗨@someone,你能分享你的模型设计吗?错误消息似乎表明您的模型包含两个相同名称的属性?
-
我在模型中有
public int Id { get; set; }和public string ID { get; set; } -
发表评论,因为我无法给出答案:在我的例子中,我有两个同名的属性,子类覆盖了基类。我选择重命名父类的属性并避免对其进行序列化,以解决此问题/错误。
标签: c# json asp.net-core