public static void Main()
mc.MyBinaryProperty = new byte[] { 1, 2, 3, 4 };
string serialized = JsonConvert.SerializeObject(mc, new JsonSerializerSettings
TypeNameHandling = TypeNameHandling.Objects,
Formatting = Newtonsoft.Json.Formatting.Indented,
Converters = new[] { new ByteArrayConverter() }
Console.WriteLine (serialized);
public byte[] MyBinaryProperty {get;set;}
public class ByteArrayConverter : JsonConverter
public override object ReadJson(
JsonSerializer serializer)
throw new NotImplementedException();
public override void WriteJson(
JsonSerializer serializer)
string base64String = Convert.ToBase64String((byte[])value);
serializer.Serialize(writer, base64String);
public override bool CanRead
public override bool CanConvert(Type t)
return typeof(byte[]).IsAssignableFrom(t);