C# Hjson возвращает ноль после десериализации

У меня есть файл 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, но не могу найти способ его десериализации. Попытка использовать словарь как ответ на другой вопрос стека, но у меня не получилось.

Примечание. Первый и второй проверенный метод возврата не возвращают никаких ошибок, но они просто возвращают исключение nullreferenceexception, поскольку значения "SecondConfig" и "ThirdConfig" равны нулю.

Обновление (с помощью er-sho): убрал элемент "root" из hjson (TestConfig), что решило проблему.

0 ответов

Удаление TestConfig из hjson исправило его, так как это root и класс, с которым я работаю.

Другие вопросы по тегам