从BsonDocument反序列化为字符串并序列化回BsonDocument

问题描述 投票:1回答:1

我有一个需求,我需要一个属性,该属性实际上是MongoDB集合中的JSON值,需要将其反序列化为字符串。此转换引发“无法从BsonType'Document'”]中反序列化'String'异常。

我尝试实现JSON自定义转换器,但是由于该值被视为BsonDocument,因此没有帮助,并且我遇到了相同的异常。我还需要原始格式的文件,因为我需要将其下放回BsonDocument中。我想我需要一个自定义的Bson序列化器/解串器。

来自MongoDB集合的传入示例文档:

{
    "name": "Jane Doe",
    "dob": {
        "month": "Sep",
        "day": 09,
        "year": 1987
    }
}

期望反序列化的类型:

public class Person
{
    public string name { get; set; }
    public Dob dob { get; set; }

    public class Dob
    {
        public string month { get; set; }
        public int day { get; set; }
        public int year { get; set; }
    }
}

类型,我希望它反序列化为:

public class Person
{
    public string name { get; set; }
    public string dob { get; set; }
}

我有一个需求,我需要一个属性,该属性实际上是MongoDB集合中的JSON值,需要将其反序列化为字符串。此转换引发“无法反序列化'...

c# json mongodb serialization bson
1个回答
0
投票

总而言之,您的模型上包含一个面向公众的string属性,该属性包含您希望通过以下方式将JSON字符串反序列化为某个中间DTO,然后将DTO自身序列化为Mongo,从而内部序列化为MongoDB。

© www.soinside.com 2019 - 2024. All rights reserved.