mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 10:08:19 +08:00
BUG
This commit is contained in:
@@ -60,9 +60,25 @@ namespace SqlSugar.MongoDb
|
||||
// 再用 BsonSerializer 反序列化为 T
|
||||
return BsonSerializer.Deserialize(bsonDoc, type);
|
||||
}
|
||||
else if (json is List<object> list0&&list0.Any()&& list0.FirstOrDefault() is Dictionary<string,object>)
|
||||
{
|
||||
Type elementType = type.GetGenericArguments()[0];
|
||||
var resultList = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(elementType));
|
||||
BsonArray bsonArray = new BsonArray();
|
||||
foreach (Dictionary<string,object> item in list0)
|
||||
{
|
||||
var bsonDoc = new BsonDocument();
|
||||
foreach (var kvp in item)
|
||||
{
|
||||
bsonDoc.Add(kvp.Key, BsonValue.Create(kvp.Value));
|
||||
}
|
||||
resultList.Add(BsonSerializer.Deserialize(bsonDoc, elementType));
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
else if (json is List<object> list)
|
||||
{
|
||||
string jsonStr = System.Text.Encoding.UTF8.GetString(list.Select(it=>Convert.ToByte(it)).ToArray());
|
||||
string jsonStr = System.Text.Encoding.UTF8.GetString(list.Select(it => Convert.ToByte(it)).ToArray());
|
||||
// 2. 解析为 BsonArray
|
||||
var bsonArray = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonArray>(jsonStr);
|
||||
|
||||
@@ -78,8 +94,8 @@ namespace SqlSugar.MongoDb
|
||||
var doc = item.AsBsonDocument;
|
||||
var obj = BsonSerializer.Deserialize(doc, elementType);
|
||||
resultList.Add(obj);
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
return resultList;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user