从System.String到MongoDB.Bson.ObjectId的无效转换,同时反序列化Json String .Net

时间:2019-03-20 06:22:02

标签: json asp.net-core

我最近正在学习redis,并尝试使用键值字符串将模型设置为json字符串作为值。我可以将模型序列化为json字符串成功,但是当我尝试将其反序列化回模型时,会出现异常。如果我不想将Id的类型更改为字符串,是否还有其他方法可以解决此问题?谢谢。

例外:

Newtonsoft.Json.JsonSerializationException: 'Error converting value "5b5b4df5b8e2e208efb2c0da" to type 'MongoDB.Bson.ObjectId'. Path 'Id', line 1, position 64.'
InvalidCastException: Invalid cast from 'System.String' to 'MongoDB.Bson.ObjectId'.

型号:

public class TblUser
{
    public ObjectId Id { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

序列化:

public static string ObjToStr(Object obj)
{
    return JsonConvert.SerializeObject(obj);
}

反序列化:

public static T StrToObj<T>(string str)
{
    return JsonConvert.DeserializeObject<T>(str);
}

0 个答案:

没有答案