diff --git a/src/Business/Grand.Business.Common/Services/Configuration/SettingService.cs b/src/Business/Grand.Business.Common/Services/Configuration/SettingService.cs index 2a11943c3..4d34a883f 100644 --- a/src/Business/Grand.Business.Common/Services/Configuration/SettingService.cs +++ b/src/Business/Grand.Business.Common/Services/Configuration/SettingService.cs @@ -129,7 +129,7 @@ public virtual async Task GetSettingByKey(string key, T defaultValue = def var setting = settings.FirstOrDefault(x => x.StoreId == storeId) ?? settings.FirstOrDefault(x => string.IsNullOrEmpty(x.StoreId)); - return setting != null ? Task.FromResult(JsonSerializer.Deserialize(setting.Metadata)) : Task.FromResult(defaultValue); + return setting != null ? Task.FromResult(JsonSerializer.Deserialize((string)setting.Metadata)) : Task.FromResult(defaultValue); }); } @@ -205,7 +205,7 @@ public virtual ISettings LoadSetting(Type type, string storeId = "") setting = settings.FirstOrDefault(x => string.IsNullOrEmpty(x.StoreId)); if (setting != null) - return JsonSerializer.Deserialize(setting.Metadata, type) as ISettings; + return JsonSerializer.Deserialize((string)setting.Metadata, type) as ISettings; return Activator.CreateInstance(type) as ISettings; }); diff --git a/src/Business/Grand.Business.Common/Utilities/PowerExcelMapper.cs b/src/Business/Grand.Business.Common/Utilities/PowerExcelMapper.cs index d1ca00146..ec97e3cd2 100644 --- a/src/Business/Grand.Business.Common/Utilities/PowerExcelMapper.cs +++ b/src/Business/Grand.Business.Common/Utilities/PowerExcelMapper.cs @@ -294,7 +294,7 @@ private object GetCellValue(ICell cell, ColumnInfo targetColumn) case CellType.String: default: if (targetColumn.Json) - return JsonSerializer.Deserialize(cell.StringCellValue, targetColumn.PropertyType); + return JsonSerializer.Deserialize((string)cell.StringCellValue, targetColumn.PropertyType); return cell.StringCellValue; } } diff --git a/src/Core/Grand.Infrastructure/ModelBinding/JsonBodyModelBinder.cs b/src/Core/Grand.Infrastructure/ModelBinding/JsonBodyModelBinder.cs index 354bd5d89..350165cb5 100644 --- a/src/Core/Grand.Infrastructure/ModelBinding/JsonBodyModelBinder.cs +++ b/src/Core/Grand.Infrastructure/ModelBinding/JsonBodyModelBinder.cs @@ -31,7 +31,7 @@ public async Task BindModelAsync(ModelBindingContext bindingContext) }; options.Converters.Add(new StringConverter()); bindingContext.Result = - ModelBindingResult.Success(JsonSerializer.Deserialize(jsonPayload, bindingContext.ModelType, options)); + ModelBindingResult.Success(JsonSerializer.Deserialize((string)jsonPayload, bindingContext.ModelType, options)); } else { diff --git a/src/Web/Grand.Web.Common/Extensions/SessionExtensions.cs b/src/Web/Grand.Web.Common/Extensions/SessionExtensions.cs index bf20dbfba..027d5d50e 100644 --- a/src/Web/Grand.Web.Common/Extensions/SessionExtensions.cs +++ b/src/Web/Grand.Web.Common/Extensions/SessionExtensions.cs @@ -30,6 +30,6 @@ public static void Set(this ISession session, string key, T value) public static T Get(this ISession session, string key) { var value = session.GetString(key); - return value == null ? default : JsonSerializer.Deserialize(value); + return value == null ? default : JsonSerializer.Deserialize((string)value); } } \ No newline at end of file