json模板和python编码不应该彼此紧密耦合
我有一个json文件,加载该文件后,python的json.loads将其转换为字典。例如,如果我有一个json文件,比如json模板和python编码不应该彼此紧密耦合,python,json,Python,Json,我有一个json文件,加载该文件后,python的json.loads将其转换为字典。例如,如果我有一个json文件,比如 { "Family" : { "Father" : "Name of the person", "Mother" : "Name of the person", "Children" : [ { "Name" : "Name of the kid",
{ "Family" :
{
"Father" : "Name of the person",
"Mother" : "Name of the person",
"Children" : [
{
"Name" : "Name of the kid",
"Age" : "Age value of the kid"
}
]
}
我可以访问字典中的所有键和值
问题和要求:我不想做这样的文字比较
if 'key' == 'Family':
do some operations
elif 'key' == 'Mother':
do other operations
else:
do something else
上面的json模板如果修改了键或嵌套,我希望在python代码中立即更新键和值。我不希望python代码和json模板之间的紧密联系。有可能吗
我想出了两个解决方案,
1)对关键帧使用常量值。因此,对json模板中的key的任何更新都应该更新python代码中的常量值。但如果改变了嵌套,那么就有问题了
2)使用INI文件将json键映射到某个别名。所以我的INI文件如下
[家庭]
父亲:父亲
母亲:母亲
[等等]
因此,Python代码将始终引用父、母而不是“json键”,这样,如果更新了json模板,则可以在右侧更新INI文件。同样,如果json模板使用表示而不是仅仅更改键名进行更改,则会出现问题
请告诉我是否有任何解决方案。您希望JSON模板多久修改一次?根据需求和用例,可以非常频繁地修改。总的来说,我想知道是否有一个工具或某种方法来实现这个需求。我也在寻找一个非常好的检索值的设计。在C语言中,我们有结构或宏。用于填充json数据的关键字和结构的宏。访问json(使用字典)的Python方式是什么????我可以使用jsonschema验证json数据。但json/dictionary的实现视角让我感到困惑。什么是正确的设计??