我有以下JSONNewtonsoft的Json去serealization不忽略空
{
"PROPERTY1": "vvv",
"PROPERTY2": "aa",
}
,我想用下面的數據模型類
public class Class1
{
public Class1()
{
}
[JsonProperty(Required = Required.Always)]
public string PROPERTY1{ get; set; }
[JsonProperty(Required = Required.Always)]
public string PROPERTY2{ get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public decimal PROPERTY3 { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public string PROPERTY4 { get; set; }
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
public SomeObject PROPERTY5 { get; set; }
}
而下面的序列化代碼中使用反序列化
deserializedResponse = JsonConvert.DeserializeObject<Class1>(response);
因此,我期望獲得PROPERTY1和PROPERTY2的第1類, 實際上,我獲得了所有4個屬性,而PROPERTY3是0,PROPERTY4 = null,PROPERTY5 =「」。
試圖通過序列設置爲2參數
JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};
沒有幫助。
我想Class1的對象沒有PROPERTY3和PROPERTY4和PROPERTY5如果他們沒有在JSON
任何建議本?
這是什麼問題?當然,你仍然擁有屬於課堂的屬性。他們只會有他們的默認值(因此'null'和'0')。空處理是用於序列化的,寫出時它們將被忽略。如果你想要一個動態類型,使用'dynamic'而不是一個具體的類。 – Lloyd
另外,您的JSON無效。應該是{ 「PROPERTY1」: 「VVV」, 「PROPERTY2」: 「AA」 } – Antipod
@Lloyd錯字:-)我想Class1的對象沒有PROPERTY3和PROPERTY4如果他們沒有在JSON –