我试图将一个简单的字符串序列化到BSON,但我不断地收到这个错误;
"写入字符串值时出错。BSON必须以对象或数组开头。Path"
我可以不使用Json.Net将"String"或简单类型序列化为BSON吗?如果不是为什么?
例如。;
using (var ms = new MemoryStream())
{
using (var bw = new BsonWriter(ms))
{
var serializer = new JsonSerializer();
serializer.Serialize(bw, "Testing123");
bw.Flush();
}
return ms.ToArray();
}
引用自bsonspec.org
BSON是一种二进制格式,其中零个或多个键/值对存储为单个实体。我们将此实体称为文档。
这意味着有效的BSON只能以键/值对的形式存在,因此不可能将字符串或整数等简单值写入BSON文档。
关于为什么数组可以作为一个完整的BSON文档通过,以下是Notes部分引用的同一来源的描述:
数组-数组的文档是一个普通的BSON文档键的整数值,从0开始并继续按顺序。例如,数组
['red', 'blue']
将被编码作为文档CCD_ 2。钥匙必须在升序。