Json.NET - 如何使用自定义解析
问题描述:
我想序列这个类序列化类:Json.NET - 如何使用自定义解析
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”] }
注意,每个车有一个图片数组只有URL字符串,而不是所有的p图片类拥有的性能。
我知道Json.NET有自定义解析器的概念,但我不确定如何使用它。
答
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; }
}
答
创建一个将PictureDisplay对象作为字符串写入的JsonConverter。
你能解释一下吗? – 2010-02-25 03:19:01