天天看點

C# Newtonsoft.Json JObject移除屬性,在序列化時忽略 C# Newtonsoft.Json JObject合并對象整理 C# dynamic類型序列化和反序列化之Newtonsoft.Json

原文 C# Newtonsoft.Json JObject移除屬性,在序列化時忽略

一、針對 單個 對象移除屬性,序列化時忽略處理

JObject執行個體的 Remove() 方法,可以在 指定序列化時移除屬性和值

示例如下 :

[csharp] 

view plain copy

  1. //json 序列化  
  2. JObject obj1 = JObject.FromObject(new  
  3. {  
  4.     id = 1,  
  5.     name = "張三",  
  6.     age = 20  
  7. });  
  8. Console.WriteLine(obj1.ToString());  
  9. //輸出:  
  10. //{  
  11. //  "id": 1,  
  12. //  "name": "張三",  
  13. //  "age": 20  
  14. //}  
  15. //指定忽略對象的屬性  
  16. //注:指定的key區分大小寫  
  17. obj1.Remove("id");  
  18. //輸出結果:  
  19. //    "name": "張三",  
  20. //    "age": 20  

注 :1.屬性移除僅對目前 對象的屬性起作用

2.指定移除 的 key區分 大小寫,移除的屬性需要和屬性 大小寫一直

如想 删除二級數組對象的屬性,可以參考 代碼:

  1. JArray jarr = obj1.SelectToken("images") as JArray;  
  2. if (jarr != null)  
  3.     foreach (JObject item in jarr)  
  4.     {  
  5.         item.Remove("id");  
  6.     }  

二、使用 [Newtonsoft.Json.JsonIgnore()]   ,屬性标注用于忽略處理

  1. [Newtonsoft.Json.JsonIgnore()]  
  2. public int ID { get; set; }  

更多:

C# Newtonsoft.Json JObject合并對象整理

C# dynamic類型序列化和反序列化之Newtonsoft.Json

C# Newtonsoft.Json JsonSerializerSettings配置序列化操作