且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C# Newtonsoft.Json JObject移除属性,在序列化时忽略

更新时间:2022-07-04 04:10:52

原文 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.   
  17. //指定忽略对象的属性  
  18. //注:指定的key区分大小写  
  19. obj1.Remove("id");  
  20. Console.WriteLine(obj1.ToString());  
  21. //输出结果:  
  22. //{  
  23. //    "name": "张三",  
  24. //    "age": 20  
  25. //}  

注 :1.属性移除仅对当前 对象的属性起作用

2.指定移除 的 key区分 大小写,移除的属性需要和属性 大小写一直

如想 删除二级数组对象的属性,可以参考 代码:

[csharp] view plain copy
  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()]   ,属性标注用于忽略处理

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

更多:

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

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

 

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