如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?

穆罕默德·希拉里​​扎德(Mohammed Shiralizadeh)

如何在使用JSON.Net进行序列化期间有条件地忽略字段和属性?我不能继承,JsonIgnoreAttribute因为它是一个sealed类。我该怎么办?

穆罕默德·希拉里​​扎德(Mohammed Shiralizadeh)

我找到了答案。我继承JsonConverter并创建一个新的转换器。

public class CustomJsonConverter : JsonConverter
{
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        var list = (IList)value;

        JArray s = new JArray();

        foreach (var item in list)
        {
            JToken token = JToken.FromObject(item);
            JObject obj = new JObject();

            foreach (JProperty prop in token)
            {
                if (prop.Name != "Title") // your logic here
                    obj.Add(prop);
            }

            s.Add(obj);
        }

        s.WriteTo(writer);

    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
        throw new NotImplementedException("Unnecessary because CanRead is false. The type will skip the converter.");
    }

    public override bool CanRead
    {
        get { return false; }
    }

    public override bool CanConvert(Type objectType)
    {
        return objectType != typeof(IList);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

活动模型序列化器-如何有条件地包含属性?滑轨

来自分类Dev

如何基于另一个JSON属性有条件地反序列化JSON对象?

来自分类Dev

有条件地忽略属性序列化

来自分类Dev

如何在猫鼬聚合期间有条件地投影字段

来自分类Dev

如何在C#中使用json.net忽略序列化的属性,但保留反序列化

来自分类Dev

使用杰克逊序列化时有条件地跳过对象

来自分类Dev

使用json.net对对象属性进行条件序列化/反序列化

来自分类Dev

使用Jackson有条件地忽略原始类型字段

来自分类Dev

使用Jackson进行反序列化时有选择地忽略JSON属性

来自分类Dev

如何有条件地使用rxjs进行缓冲?

来自分类Dev

如何使用FluentValidation有条件地验证属性?

来自分类Dev

如何有条件地忽略GDB中的SIGTRAP?

来自分类Dev

如何有条件地忽略GDB中的SIGTRAP?

来自分类Dev

忽略带有注释的字段以进行JSON序列化,但不忽略MongoJack中的Mongo

来自分类Dev

如何在AEM中使用HTL有条件地添加数据属性?

来自分类Dev

如何有条件地读取所有属性?

来自分类Dev

有条件地发送JSON密钥以进行提取

来自分类Dev

JSON Schema 有条件地要求属性

来自分类Dev

有条件地使用请求参数进行跳过和限制

来自分类Dev

在 Ramda 中有条件地添加和重命名属性而不使用镜头

来自分类Dev

Wix-如何有条件地设置属性

来自分类Dev

如何有条件地禁用routerLink属性?

来自分类Dev

如何有条件地呈现状态属性

来自分类Dev

AngularJS-有条件地使用属性指令

来自分类Dev

使用jQuery有条件地设置属性

来自分类Dev

使用hidden属性与有条件地渲染组件

来自分类Dev

如何在 SELECT 的结果中有条件地对某些行进行二元化?

来自分类Dev

如何有条件地实例化对象?

来自分类Dev

有条件地序列化/反序列化属性

Related 相关文章

  1. 1

    活动模型序列化器-如何有条件地包含属性?滑轨

  2. 2

    如何基于另一个JSON属性有条件地反序列化JSON对象?

  3. 3

    有条件地忽略属性序列化

  4. 4

    如何在猫鼬聚合期间有条件地投影字段

  5. 5

    如何在C#中使用json.net忽略序列化的属性,但保留反序列化

  6. 6

    使用杰克逊序列化时有条件地跳过对象

  7. 7

    使用json.net对对象属性进行条件序列化/反序列化

  8. 8

    使用Jackson有条件地忽略原始类型字段

  9. 9

    使用Jackson进行反序列化时有选择地忽略JSON属性

  10. 10

    如何有条件地使用rxjs进行缓冲?

  11. 11

    如何使用FluentValidation有条件地验证属性?

  12. 12

    如何有条件地忽略GDB中的SIGTRAP?

  13. 13

    如何有条件地忽略GDB中的SIGTRAP?

  14. 14

    忽略带有注释的字段以进行JSON序列化,但不忽略MongoJack中的Mongo

  15. 15

    如何在AEM中使用HTL有条件地添加数据属性?

  16. 16

    如何有条件地读取所有属性?

  17. 17

    有条件地发送JSON密钥以进行提取

  18. 18

    JSON Schema 有条件地要求属性

  19. 19

    有条件地使用请求参数进行跳过和限制

  20. 20

    在 Ramda 中有条件地添加和重命名属性而不使用镜头

  21. 21

    Wix-如何有条件地设置属性

  22. 22

    如何有条件地禁用routerLink属性?

  23. 23

    如何有条件地呈现状态属性

  24. 24

    AngularJS-有条件地使用属性指令

  25. 25

    使用jQuery有条件地设置属性

  26. 26

    使用hidden属性与有条件地渲染组件

  27. 27

    如何在 SELECT 的结果中有条件地对某些行进行二元化?

  28. 28

    如何有条件地实例化对象?

  29. 29

    有条件地序列化/反序列化属性

热门标签

归档