Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为BSON和JSON使用JSON.Net的最简单方法?_C#_Json_Json.net_Bson - Fatal编程技术网

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