mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 02:29:39 +08:00
BUG
This commit is contained in:
@@ -60,9 +60,25 @@ namespace SqlSugar.MongoDb
|
|||||||
// 再用 BsonSerializer 反序列化为 T
|
// 再用 BsonSerializer 反序列化为 T
|
||||||
return BsonSerializer.Deserialize(bsonDoc, type);
|
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)
|
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
|
// 2. 解析为 BsonArray
|
||||||
var bsonArray = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonArray>(jsonStr);
|
var bsonArray = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonArray>(jsonStr);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user