From 51ea553b37ece7124e0715365cbca680829e2188 Mon Sep 17 00:00:00 2001 From: zhangjunting Date: Sat, 15 Feb 2025 23:14:38 +0800 Subject: [PATCH] JsonMap Deserialize surpport JsonSerializerSettings --- Extensions/FreeSql.Extensions.JsonMap/JsonMapCore.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Extensions/FreeSql.Extensions.JsonMap/JsonMapCore.cs b/Extensions/FreeSql.Extensions.JsonMap/JsonMapCore.cs index e72be7ca0..847626450 100644 --- a/Extensions/FreeSql.Extensions.JsonMap/JsonMapCore.cs +++ b/Extensions/FreeSql.Extensions.JsonMap/JsonMapCore.cs @@ -13,7 +13,7 @@ public static class FreeSqlJsonMapCoreExtensions { static int _isAoped = 0; static ConcurrentDictionary _dicTypes = new ConcurrentDictionary(); - static MethodInfo MethodJsonConvertDeserializeObject = typeof(JsonConvert).GetMethod("DeserializeObject", new[] { typeof(string), typeof(Type) }); + static MethodInfo MethodJsonConvertDeserializeObject = typeof(JsonConvert).GetMethod("DeserializeObject", new[] { typeof(string), typeof(Type), typeof(JsonSerializerSettings) }); static MethodInfo MethodJsonConvertSerializeObject = typeof(JsonConvert).GetMethod("SerializeObject", new[] { typeof(object), typeof(JsonSerializerSettings) }); static ConcurrentDictionary> _dicJsonMapFluentApi = new ConcurrentDictionary>(); static object _concurrentObj = new object(); @@ -44,7 +44,7 @@ public static void UseJsonMap(this IFreeSql fsql, JsonSerializerSettings setting if (_dicTypes.ContainsKey(type)) return Expression.IfThenElse( Expression.TypeIs(valueExp, type), Expression.Return(returnTarget, valueExp), - Expression.Return(returnTarget, Expression.TypeAs(Expression.Call(MethodJsonConvertDeserializeObject, Expression.Convert(valueExp, typeof(string)), Expression.Constant(type)), type)) + Expression.Return(returnTarget, Expression.TypeAs(Expression.Call(MethodJsonConvertDeserializeObject, Expression.Convert(valueExp, typeof(string)), Expression.Constant(type),Expression.Constant(settings)), type)) ); return null; });