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

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Newtonsoft.Json JObject移除属性,在序列化时忽略相关的知识,希望对你有一定的参考价值。

原文 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配置序列化操作

以上是关于C# Newtonsoft.Json JObject移除属性,在序列化时忽略的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中将字符串转换为 json 格式。 Newtonsoft.json 显示黄色标记

C# NEWTONSOFT.JSON读取json文件

使用 NewtonSoft Json 在 C# 中获取 JSON 的所有子项

Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据

C# 无法访问 Newtonsoft.Json.Linq.JProperty 上的子值

C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置