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 и класс, с которым я работаю.