C#Hjson反序列化后返回null

问题描述 投票:0回答:1

我有一个像这样的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方法不会返回任何错误,但是它们只会返回nullreferenceexception,因为“ SecondConfig”和“ ThirdConfig”均为null。]]

Update

(在er-sho的帮助下):从hjson(TestConfig)中删除了“ root”元素,从而解决了该问题。

我有一个这样的hjson文件,我想反序列化并使用:{“ TestConfig”:{“ SecondConfig”:{“ ConnectionString”:“集成安全性= true;数据源= dataPseudo;初始...

c# json serialization app-config hjson
1个回答
0
投票

从hjson中删除“ TestConfig”已修复,因为它是根目录,并且是我正在使用的类。

© www.soinside.com 2019 - 2024. All rights reserved.