diff --git a/AssetManager.Services/PortfolioService.cs b/AssetManager.Services/PortfolioService.cs index 3074f15..4e70232 100644 --- a/AssetManager.Services/PortfolioService.cs +++ b/AssetManager.Services/PortfolioService.cs @@ -51,7 +51,14 @@ public class PortfolioService : IPortfolioService // 风险平价策略 if (strategy.Type?.Equals("risk_parity", StringComparison.OrdinalIgnoreCase) == true) { - var config = System.Text.Json.JsonSerializer.Deserialize(strategy.Config); + // 处理可能的双层转义 + string configJson = strategy.Config; + if (configJson.StartsWith("\"") && configJson.EndsWith("\"")) + { + // 去掉外层的引号和转义 + configJson = System.Text.Json.JsonSerializer.Deserialize(configJson); + } + var config = System.Text.Json.JsonSerializer.Deserialize(configJson); if (config?.Assets != null) { foreach (var asset in config.Assets)