使用NewtonSoft Json.Net将简单字符串串行化到BSON时出错



我试图将一个简单的字符串序列化到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。钥匙必须在升序。

相关内容

  • 没有找到相关文章

最新更新