我正在使用的第三方库中的类具有为一个类上的两个属性指定的相同JSON属性名称。例如。像这样:
public class Foo
{
[JsonProperty("X")]
public string X1 { get; set; }
[JsonProperty("X")]
public string X2 { get; set; }
}
当我尝试将该类的实例序列化为JSON时,它将引发异常
var foo = new Foo { X1 = "a" };
var json = JsonConvert.SerializeObject(foo); // throws JsonSerializationException
JsonSerializationException:'名称为'X'的成员已经存在 在“ Foo”上使用JsonPropertyAttribute指定另一个名称。'
如何配置json序列化以忽略JsonPropery
属性中指定的属性名称?
请注意,我无法控制Foo
的定义,因此无法修改属性等。
我什至没有使用冲突的属性之一,但是当我在NullValueHandling.Ignore
中指定JsonSerializerSettings
时仍然会抛出异常。