我有一个名为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
秒,.Skills
有Regex
S,我现在必须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)
)。
我可以无效吗?