我有兩種格式的JSON,我想將其反序列化爲一個類。 我知道我們不能將兩個[JsonProperty]屬性應用於一個屬性。將多個JsonProperty名稱分配給單個屬性
可以請你給我一種方法來實現這一點。
string json1 = @" {
'field1': '123456789',
'specifications': {
'name1': 'HFE'
}
}";
string json2 = @" {
'field1': '123456789',
'specifications': {
'name2': 'HFE'
}
}";
public class Specifications
{
[JsonProperty("name1")]
public string CodeModel { get; set; }
}
public class ClassToDeserialize
{
[JsonProperty("field1")]
public string Vin { get; set; }
[JsonProperty("specification")]
public Specifications Specifications { get; set; }
}
我想要name1和name2都反序列化爲規範類的name1屬性。
這似乎是一個設計問題。但是,如果你想要這樣做,你可以編寫一個自定義的json轉換器,並將這兩個名稱映射到name1。這裏是一個這樣的轉換器的例子:http://stackoverflow.com/questions/36233759/web-api-2-custom-data-type-json-serialization/36243575#36243575 –
按照這裏的步驟... http ://stackoverflow.com/a/19885911/2445471 – khaled4vokalz
@Khanh TO是的我知道這有點奇怪的要求。實際上我們從兩個不同來源獲得數據,並且都有差異格式的數據。我們試圖做的是將其映射到一個通用的格式。 即將到json轉換器部分我沒有看到任何嵌套類字段可以映射到兩個不同名稱的示例。 如果你可以幫忙,這將是非常好的。提前致謝。 –