我有以下 C# 代码从 Checkmarx 收到“高”错误。我看不出有什么问题。
var dataDirectoryPath = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
var json = File.ReadAllText($"{dataDirectoryPath}{Path.DirectorySeparatorChar}somefile.json");
var settings = new
JsonSerializerSettings{TypeNameHandling=TypeNameHandling.None};
var targetPathSettings = JsonConvert.DeserializeObject<List<TargetPathSetting>>(json, settings);
它给出了这个错误:
yyy文件中xxx处理的序列化对象ReadAllText被zzz文件中的DeserializeObject反序列化
C#代码如下:
public class TargetPathSetting
{
public string PathSettingName { get; set; }
public PathSetting PathSetting { get; set; }
}
public class PathSetting
{
public string BaseUrl { get; set; }
public string ApplicationIdUri { get; set; }
}
我看不出文件中的任何内容都会导致任何类型的问题,尤其是 TypeNameHandling.None 设置。