04-005 Configuration 之 JsonConfigurationSource
Posted on 2015-03-17 11:01 DotNet1010 阅读(602) 评论(0) 收藏 举报部门代码:
// Values in key-value pairs
case JsonToken.Integer:
case JsonToken.Float:
case JsonToken.String:
case JsonToken.Boolean:
case JsonToken.Bytes:
case JsonToken.Raw:
case JsonToken.Null:
var key = GetKey(reader.Path);
if (data.ContainsKey(key))
{
throw new FormatException(Resources.FormatError_KeyIsDuplicated(key));
}
data[key] = reader.Value.ToString();
break;
看一下单元测试的代码:
public void LoadKeyValuePairsFromValidJson()
{
var json = @"
{
'firstname': 'test',
'test.last.name': 'last.name',
'residential.address': {
'street.name': 'Something street',
'zipcode': '12345'
}
}";
var jsonConfigSrc = new JsonConfigurationSource(ArbitraryFilePath);
jsonConfigSrc.Load(StringToStream(json));
Assert.Equal(4, jsonConfigSrc.Data.Count);
Assert.Equal("test", jsonConfigSrc.Data["firstname"]);
Assert.Equal("last.name", jsonConfigSrc.Data["test.last.name"]);
Assert.Equal("Something street", jsonConfigSrc.Data["residential.address:STREET.name"]);
Assert.Equal("12345", jsonConfigSrc.Data["residential.address:zipcode"]);
}
浙公网安备 33010602011771号