加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Json.NET – 如何使用自定义解析器序列化类

发布时间:2020-12-16 19:32:20 所属栏目:百科 来源:网络整理
导读:我想序列化这个类: public class CarDisplay{ public string Name { get; set; } public string Brand { get; set; } public string Year { get; set; } public PictureDisplay[] Pictures { get; set; }} public class PictureDisplay{ public int Id { ge
我想序列化这个类:
public class CarDisplay
{
    public string Name { get; set; }
    public string Brand { get; set; }
    public string Year { get; set; }

    public PictureDisplay[] Pictures { get; set; }
} 

public class PictureDisplay
{
    public int Id { get; set; }
    public string SecretKey { get; set; }
    public string AltText { get; set; }
}

对于这个Json测试:

{
名称:“名称值”,
品牌:“品牌价值”,
年份:“年份价值”,
图片:[“url1”,“url2”,“url3”]
}

请注意,每个Car都有一个只包含url字符串的图片数组,而不是Picture类具有的所有属性.

我知道Json.NET有Custom Resolver的概念,但我不确定如何使用它.

public class PictureDisplayConverter : JsonConverter
{
   public override void WriteJson(JsonWriter writer,object value,JsonSerializer serializer)
   {
        // convert array of picture to json string;
   }

   public override object ReadJson(JsonReader reader,Type objectType,JsonSerializer serializer)
   {
       // convert back json string into array of picture
   }

   public override bool CanConvert(Type objectType)
   {
        return true;
   }
}

在你的车展中:

public class CarDisplay
{
    public string Name { get; set; }
    public string Brand { get; set; }
    public string Year { get; set; }

    [JsonConverter(typeof(PictureDisplayConverter ))]
    public PictureDisplay[] Pictures { get; set; }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读