针对 单个 对象移除属性,序列化时忽略处理

  • JObject实例的 Remove() 方法,可以在 指定序列化时移除属性和值
  1. using Newtonsoft.Json.Linq;//引用
  2. //json 序列化
  3. JObject obj1 = JObject.FromObject(new
  4. {
  5. id = 1,
  6. name = "张三",
  7. age = 20
  8. });
  9. //等效于JObject obj1 = JObject.FromObject(实体类)
  10. Console.WriteLine(obj1.ToString());
  11. //输出:
  12. //{
  13. // "id": 1,
  14. // "name": "张三",
  15. // "age": 20
  16. //}
  17. //指定忽略对象的属性
  18. //注:指定的key区分大小写
  19. obj1.Remove("id");
  20. //obj.ToObject<实体类>();处理后转换成原来的实体类
  21. Console.WriteLine(obj1.ToString());
  22. //输出结果:
  23. //{
  24. // "name": "张三",
  25. // "age": 20
  26. //}

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; }