1. 程式人生 > >C# Newtonsoft.Json JObject移除屬性,在序列化時忽略

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

-h 大小 reac plain bsp source images too 實例

原文 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. Console.WriteLine(obj1.ToString());
  19. //輸出結果:
  20. //{
  21. // "name": "張三",
  22. // "age": 20
  23. //}

註 :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移除屬性,在序列化時忽略