【发布时间】:2015-06-23 18:09:03
【问题描述】:
json = '{
"app": {
"Garden": {
"Flowers": {
"Red flower": "Rose",
"White Flower": "Jasmine",
"Yellow Flower": "Marigold"
}
},
"Fruits": {
"Yellow fruit": "Mango",
"Green fruit": "Guava",
"White Flower": "groovy"
},
"Trees": {
"label": {
"Yellow fruit": "Pumpkin",
"White Flower": "Bogan"
}
}
}'
这是我的 json 字符串,它经常变化,所以字典中的键位置每次都不相同,我需要 搜索一个键并打印它对应的值,因为每次我写了一个递归函数(见下文)来搜索时,json字符串都会改变 输入新的 json 字符串并打印值。但是现在的情况是我们多次使用相同的键和不同的值,怎么能 我得到了键的完整路径,这样更容易理解它是哪个键值,例如结果应该是这样的:
app.Garden.Flowers.white Flower = Jasmine
app.Fruits.White Flower = groovy
app.Trees.label.White Flower = Bogan
到目前为止我的代码:
import json
with open('data.json') as data_file:
j = json.load(data_file)
# j=json.loads(a)
def find(element, JSON):
if element in JSON:
print JSON[element].encode('utf-8')
for key in JSON:
if isinstance(JSON[key], dict):
find(element, JSON[key])
find(element to search,j)
【问题讨论】:
标签: python json dictionary