C# Hjson returns 反序列化后为null

C# Hjson returns null after deserialization

我有一个像这样的 hjson 文件,我想反序列化并使用它:

{
"TestConfig": {
  "SecondConfig": {
    "ConnectionString": "Integrated Security = true; Data Source = dataPseudo; Initial Catalog = catalogPseudo; Connect Timeout = 180",
    "SpecificationPseudo": "pseudo",
    "NumberOfHintsPseudo": 300
  },

  "ThirdConfig": "pseudo"
}... // more hjson coming here.

我用这样的 HjsonValue.Load 方法加载它:

private static Foo convertJson()
{
var loadedValue = HjsonValue.Load("hjsonFile.hjson").ToString();
return new JsonSerializer<Foo>().DeserializeFromString(loadedValue);
// another failed method: return JsonConvert.DeserializeObject<Foo>(loadedValue);
// A third failed method: return JsonConvert.DeserializeObject<Dictionary<string, Foo>>(loadedValue);
}

我认为我的问题出在 2 行 c# 代码中,但无法确定是什么。我是反序列化错误还是问题出在哪里?我怀疑是因为它是一个嵌套的 json,但找不到反序列化它的方法。尝试使用字典,因为它是另一个堆栈问题的答案,但它对我不起作用。

注意:第一个和第二个尝试的 return 方法没有 return 任何错误,但它们只是 return 一个空引用异常,因为 "SecondConfig" 和 "ThirdConfig" 两者均为空..

Update(在 er-sho 的帮助下):从 hjson (TestConfig) 中删除了 "root"-元素,这解决了问题.

从 hjson 中删除 "TestConfig" 修复了它,因为它是 root 和我正在使用的 class。