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。有关详细信息,请参阅票证。
我错过了什么吗? 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。有关详细信息,请参阅票证。