C# BsonDocument.Parse 无效 JSON

C# BsonDocument.Parse and invalid JSON

我错过了什么吗? BsonDocument.Parse() 似乎允许无效的 JSON 输入在无效字符开始之前有有效文档的地方?

例如,我认为无效,但解析得很好:

{
    "_id": ObjectId("5731080e61737e37f84c848d")
}
This is not a typo(

它会解析初始文档并忽略初始文档之后的任何内容。

当然应该将其视为无效?

这可能是因为解析器只是解析了第一个文档然后就停止了,但我认为如果令牌流中有任何其他内容,它应该被视为失败。

BsonDocument.Parse() appears to allow invalid JSON input where there is valid document before the invalid characters start?

是的,JsonReader 允许读取多个顶级文档,根据每行输出文档的格式数。看起来 BsonDocument.Parse 只读取到第一个文档的末尾,而 JsonReader 知道还有更多要读取并等待读取下一个(这将抛出异常)。

Surely it should treat this as invalid?

我已经为这个案例开了工单CSHARP-1676。也许如果在第一个文档之后有一个额外的 'text',它也应该抛出 FormatException。请随时 watch/upvote 票以接收更新。

这是基于mongocsharpdriver v2.2.x

更新: 票证已解决并针对版本 v2.2.5。有关详细信息,请参阅票证。