使用 Newton.Json 进行 Json 序列化。
当我必须 Json 序列化属性为字节数组的对象,然后以十六进制格式显示字节数组时,要应用什么 JsonSerializerSettings 。
For eg
class A
{
public int X {get;set;}
public byte[] Y {get;set;}
}
当我将 A 序列化为 json 时,我没有得到 Y 的值,因为我已经设置了... byte[] 的输出应该是十六进制
var json = JsonConvert.SerializeObject(new MyTestClass());
public class MyTestClass
{
public string s = "iiiii";
[JsonConverter(typeof(ByteArrayConvertor))]
public byte[] buf = new byte[] {1,2,3,4,5};
}
public class ByteArrayConvertor : Newtonsoft.Json.JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType==typeof(byte[]);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
throw new NotImplementedException();
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
byte[] arr = (byte[])value;
writer.WriteRaw(BitConverter.ToString(arr).Replace("-", ""));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)