I would like to serialize all my contract with $type reference using TypeNameHandling.Objects. However when using this flag, all byte arrays (byte[]) are serialized using $value+$type. I still want Base64 encoding but without $type. For example, for the following contract:
class MyClass
{
public byte[] MyBinaryProperty {get;set;}
}
I get:
{
"$type": "MyLib.MyClass, MyAssembly",
"MyBinaryProperty": {
"$type": "System.Byte[], mscorlib",
"$value": "VGVzdGluZw=="
}
}
I want:
{
"$type": "MyLib.MyClass, MyAssembly",
"MyBinaryProperty": "VGVzdGluZw=="
}
Is it possible to serialize all objects via JSON.NET with $type excluding byte arrays? Can I do this without adding any attributes to the contracts (i.e. I want to only alter serializer settings).
jsonwants to let you know it's abyte[]defined inmscorlib. not sure