У меня есть файл с именем config.json. Вот его содержание:C#: десериализация примитивов JSON в .NET сложные типы
{
dataSources:
[
"http://www.blahblah.com/blah",
"http://www.blahblah.com/blah2",
...
],
skills:
[
{
"name": "foobaris",
"regex": "pattern"
},
...
]
}
Я хочу, чтобы создать Config
объект из этих данных, как легко и лаконично, насколько это возможно. Config
определяется как:
public class Config
{
public IEnumerable<Uri> DataSources { get; set; }
public IEnumerable<KeyValuePair<string, Regex>> Skills { get; set; }
}
Что самый легкий путь?
Поскольку Config.DataSources
является Uri
s и .Skills
имеет Regex
с, я в настоящее время приходится derserialize (т.е. RawConfig rawConfig = new JavaScriptSerializer().Deserialize<RawConfig>(configFileContents)
) конфигурационный файл в эту структуру первого:
public struct RawConfig
{
public IEnumerable<string> DataSources { get; set; }
public IEnumerable<RawConfigSkill> Skills { get; set; }
}
public struct RawConfigSkill
{
public string Name { get; set; }
public string Regex { get; set; }
}
... Затем преобразовать этой структуры в Config
(например, new Config(rawConfig)
).
Могу ли я аннулировать это?