我正在尝试将一个简单的字符串序列化为BSON,但我不断收到此错误;
“写入字符串值时出错。BSON必须以对象或数组开头。路径”
我不能使用Json.Net将“字符串”或简单类型序列化为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']
将被编码为document{'0': 'red', '1': 'blue'}
。键必须按数字升序排列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句