一、针对 单个 对象移除属性,序列化时忽略处理
JObject实例的 Remove() 方法,可以在 指定序列化时移除属性和值
示例如下 :
//json 序列化 JObject obj1 = JObject.FromObject(new { id = 1, name = "张三", age = 20 }); Console.WriteLine(obj1.ToString()); //输出: //{ // "id": 1, // "name": "张三", // "age": 20 //} //指定忽略对象的属性 //注:指定的key区分大小写 obj1.Remove("id"); Console.WriteLine(obj1.ToString()); //输出结果: //{ // "name": "张三", // "age": 20 //}
注 :1.属性移除仅对当前 对象的属性起作用
2.指定移除 的 key区分 大小写,移除的属性需要和属性 大小写一直
如想 删除二级数组对象的属性,可以参考 代码:
JArray jarr = obj1.SelectToken("images") as JArray; if (jarr != null) foreach (JObject item in jarr) { item.Remove("id"); }
二、使用 [Newtonsoft.Json.JsonIgnore()] ,属性标注用于忽略处理
[Newtonsoft.Json.JsonIgnore()] public int ID { get; set; }
更多:
C# Newtonsoft.Json JObject合并对象整理
C# dynamic类型序列化和反序列化之Newtonsoft.Json
C# Newtonsoft.Json JsonSerializerSettings配置序列化操作