C# 为BSON和JSON使用JSON.Net的最简单方法?
我有一些数据是字节数组C# 为BSON和JSON使用JSON.Net的最简单方法?,c#,json,json.net,bson,C#,Json,Json.net,Bson,我有一些数据是字节数组byte[],我需要在JSON中将它们呈现为base64,但在BSON中呈现为原始字节数组 如何在JSON.Net中轻松实现这一点 到目前为止,我有这样的想法: class Data { public byte[] Bytes{get;set;} } 转换为BSON是可以的,但是当转换为JSON时,它当然不是base64编码的,并作为字符串处理,使用JSON.Net 6.0.1中的以下代码,它似乎可以正常工作,无需特殊处理:字节数组转换为base-64字符串,反之
byte[]
,我需要在JSON中将它们呈现为base64,但在BSON中呈现为原始字节数组
如何在JSON.Net中轻松实现这一点
到目前为止,我有这样的想法:
class Data
{
public byte[] Bytes{get;set;}
}
转换为BSON是可以的,但是当转换为JSON时,它当然不是base64编码的,并作为字符串处理,使用JSON.Net 6.0.1中的以下代码,它似乎可以正常工作,无需特殊处理:字节数组转换为base-64字符串,反之亦然。您是以不同的方式序列化对象,还是使用旧版本?如果没有,你能提供一些代码来说明这个问题吗
string s = "Foo Bar Baz Quux";
Data data = new Data
{
Bytes = Encoding.UTF8.GetBytes(s)
};
string json = JsonConvert.SerializeObject(data);
Console.WriteLine(json);
data = JsonConvert.DeserializeObject<Data>(json);
Console.WriteLine(Encoding.UTF8.GetString(data.Bytes));
{"Bytes":"Rm9vIEJhciBCYXogUXV1eA=="}
Foo Bar Baz Quux