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. //注:指定的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配置序列化操作

原文地址:https://www.cnblogs.com/lonelyxmas/p/9001612.html

时间: 2024-10-24 01:44:30

C# Newtonsoft.Json JObject移除属性,在序列化时忽略的相关文章

Newtonsoft.Json设置类的属性不序列化

参考页面: http://www.yuanjiaocheng.net/webapi/parameter-binding.html http://www.yuanjiaocheng.net/webapi/action-method-returntype.html http://www.yuanjiaocheng.net/webapi/web-api-reqresq-format.html http://www.yuanjiaocheng.net/webapi/media-formatter.htm

FastJson序列化时忽略特定属性

在之前的工作中,一直用jackson来处理json串转换的问题,有些时候我们经常有忽略某些属性的情况,个人比较习惯jackson的注解的方式,而且也是比较灵活的,分别提供了@JsonIgnoreProperties,@JsonIgnore等. 而FastJson中,并没有提供类似的方式,而是提供了各种filter机制来实现的,具体可以参考:https://github.com/alibaba/fastjson/wiki/%E5%AE%9A%E5%88%B6%E5%BA%8F%E5%88%97%E

C# Newtonsoft.Json JObject 操作

C# Newtonsoft.Json JObject 操作举例 JArray j = new JArray(); JObject obj = new JObject( new JProperty("aa", "111") ); JObject obj2 = new JObject( new JProperty("bb", new JObject(new JProperty("cc", "33")) ));

再谈Newtonsoft.Json高级用法

上一篇Newtonsoft.Json高级用法发布以后收到挺多回复的,本篇将分享几点挺有用的知识点和最近项目中用到的一个新点进行说明,做为对上篇文章的补充. 阅读目录 动态改变属性序列化名称 枚举值序列化问题 全局设置 总结 回到顶部 动态改变属性序列化名称 "动态改变属性序列化名称"顾名思义:在不同场景下实体字段序列化后字段名称不同,比如有下面实体A,正常序列化后json为{"Id":"123"} public class A { public

.Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询.目前已被微软集成于webapi框架之中,因此,熟练掌握JSON.NET相当重要,这篇文章是零度参考官网整理的示例,通过这些示例,可以全面了解JSON.NET提供的功能. Newtonsoft.Json的地址: 官网:http://json.codeplex.com/ 源码地址:https://gi

Newtonsoft.Json高级用法--转载至 焰尾迭 随笔

本人只做搬运工,以这方便自己学习的态度!以下内容均为拷贝! 如有不适请联系本人! 本文原作者:焰尾迭 本文地址:http://www.cnblogs.com/yanweidie/p/4605212.html#commentform 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机A

【转】 Newtonsoft.Json高级用法

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家

更新Newtonsoft.Json后报异常,未能加载文件或程序集“Newtonsoft.Json

未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040) 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.IO.FileLoadExceptio

Newtonsoft.Json输出Json时动态忽略属性

一,前言 最近做项目采用Json形式和其他客户端交互,借助于Newtonsoft.Json . 由于业务场景不同,输出的Json内容也不同.要想忽略的属性,可以借助Newtonsoft.Json的特性,在实体前面添加特性[JsonIgnore]即可,但有时候会根据业务需求,在不同的地方输出同一个实体中不同的属性,所以添加特性的方式显然不能满足要求.例如user表,在A场景下需要password:B场景下不需要. 二,解决办法 可以重写Newtonsoft.Json的DefaultContract