我最近正在学习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);
}