我只想读取内部键和值对,并想忽略父对象层次结构,例如“Logging->LogLevel”、“ConnectionStrings”、“AppSettings”、“AzureAd”。
此外,这些对象名称及其层次结构级别在不同的 JSON 文件中并不一致。
示例我只想打印/读取 Key1 & Value1、Key2 & Value2,但需要忽略 Logging & LogLevel。
同样只打印 Key3 和 Value3,但忽略对象“ConnectionStrings”。
也想忽略注释行。
JSON 文件:
{
"Logging": {
"LogLevel": {
"Key1": "Value1",
"Key2": "Value2",
}
},
"ConnectionStrings": {
"Key3": "Value3"
},
"AppSettings": {
/// Commented Line
"Key4": "Value4",
//////////
//Commented Line
},
"AzureAd": {
"Key5": "Value5",
}
}
输出应该是:
"Key1": "Value1",
"Key2": "Value2",
"Key3": "Value3",
"Key4": "Value4",
"Key5": "Value5"
听起来你想打印字典的叶节点。如果你要在 python 中执行此操作,也许这样的事情就足够了:
def print_leaves(obj: dict):
for key, value in obj.items():
if isinstance(value, dict):
print_leaves(value)
else:
print(key, value)
a = {
"Logging": {
"LogLevel": {
"Key1": "Value1",
"Key2": "Value2",
}
},
"ConnectionStrings": {
"Key3": "Value3"
},
"AppSettings": {
"Key4": "Value4",
},
"AzureAd": {
"Key5": "Value5",
}
}
print_leaves(a)
输出:
Key1 Value1
Key2 Value2
Key3 Value3
Key4 Value4
Key5 Value5