json 做配置文件还是比较直观的,看上去层次分明,写法比较自由
{
"ehcache":{
"dir":"d:/cache/",
"ttl":"120",
"heapsize_k":"10",
"offheapsize_m":"2",
"disksize_m":"10",
"heapmaxsize_m":"1",
"heapmaxgraph":"1000",
"redisalias":"redis1",
"redisdb":"1"
}
}
问题:值应该用字符串吗?
我觉得如果用java 开发 程序,就应该统一用字符串,因为你也许很多地方都用到了泛型,而其他语言没有这种要求
因为如果用py,nodejs其他语言开发的程序,数据类型可以自适应
如果用c++ c开发的程序 ,没有String 这种特殊的东东
这是我本人总结出来的经验。
还有其他一些原因,总之如果开放json 类型随意配置,确实是不好解析的。
例如:
程序中会判断:
值是否为空,
json元素是否存在该键,
值是数字还是字符串,还是日期
还有其他人可能把数字配置成有双引号模式,
或把字符串配置无双引号模式,
那么要考虑多种情况程序就变得复杂。
如果你自己做系统配置组件,就会发现这一点。
所以json配置文件的配置原则
1.值都用字符串
2.所有的键和值都区分大小写