最简单的使用JSON的方法.Net的BSON和JSON

本文关键字:JSON BSON Net 方法 最简单 | 更新日期: 2023-09-27 17:52:48

我有一些数据是字节数组byte[],我需要将它们呈现为JSON中的base64,但作为BSON中的原始字节数组。

如何在JSON.Net中轻松地做到这一点?

到目前为止,我有这样的内容:

class Data
{
    public byte[] Bytes{get;set;}
}

转换为BSON是可以的,但转换为JSON时,它当然不是base64编码并作为字符串处理

最简单的使用JSON的方法.Net的BSON和JSON

嗯,使用下面的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