如何使用 ISO 8601 格式的 DateTime 字段将 JSON 文本反序列化为 BsonDocument?

Posted

技术标签:

【中文标题】如何使用 ISO 8601 格式的 DateTime 字段将 JSON 文本反序列化为 BsonDocument?【英文标题】:How to deserialize JSON text to BsonDocument with ISO 8601 formatted DateTime fields? 【发布时间】:2016-05-07 18:00:27 【问题描述】:

给定一个包含 ISO8601 格式时间戳字段的 JSON 文本,如下所示

"时间戳":"2016-01-29T14:51:52.4338035-06:00", “someKey”:“someVal”

如何创建具有正确键入字段的 BsonDocument?

我试过了

BsonDocument bsonDocument = BsonSerializer.Deserialize(json);

但是bsonDocument["Timestamp"] 的值的类型是BsonString 而不是BsonDateTime

如果我尝试调用bsonDocument["Timestamp"].AsBsonDateTime,它会抛出InvalidCastException

有什么想法吗?

【问题讨论】:

【参考方案1】:

使用BsonSerializer.Deserialize<BsonDateTime>(json)

【讨论】:

以上是关于如何使用 ISO 8601 格式的 DateTime 字段将 JSON 文本反序列化为 BsonDocument?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ISO 8601 格式的 DateTime 字段将 JSON 文本反序列化为 BsonDocument?

如何将 ISO8601 格式转换为毫秒?

如何在 JavaScript 中使用 ISO 8601 格式化带有时区偏移的日期?

如何使用 T 和 Z 将 LocalDate 格式化为 ISO 8601?

如何从 ISO 8601 格式创建 .NET DateTime

如何将 Excel 中的日期转换为 ISO 8601 格式