如何在路径中 return parents,并在 JSON 中定位键
How to return parents in path, and locate key in JSON
我想弄清楚如何找到一个名为 ['text'] 的密钥,然后从巢中获取 parent 密钥。这是第三个键不同,其他所有标签都一样。
html_data = data['data']['document_data']['dataItem-ihmty5rw']['text']
我正在使用这个函数来获取密钥:
def printKeysValues(d):
for k, v in d.items():
if isinstance(v, dict):
printKeysValues(v)
else:
print("{0} : {1}".format(k, v))
以及这个查找缩进的函数:
def pretty(d, indent=0):
for key, value in d.items():
print('\t' * indent + str(key))
if isinstance(value, dict):
pretty(value, indent+1)
else:
print('\t' * (indent+1) + str(value))
我仍然不完全确定这是否是您想要的,但如果您只想要字典中每个项目的文本,我认为这应该可行:
# a dictionary of item string to dictionary containing a "text" key
item_map = data['data']['document_data']
for item_string, item_map in item_map.iteritems():
print item_string # the item string (e.g. 'dataItem-ihmty5rw')
print item_map['text'] # this is the text associated with the item string
我想弄清楚如何找到一个名为 ['text'] 的密钥,然后从巢中获取 parent 密钥。这是第三个键不同,其他所有标签都一样。
html_data = data['data']['document_data']['dataItem-ihmty5rw']['text']
我正在使用这个函数来获取密钥:
def printKeysValues(d):
for k, v in d.items():
if isinstance(v, dict):
printKeysValues(v)
else:
print("{0} : {1}".format(k, v))
以及这个查找缩进的函数:
def pretty(d, indent=0):
for key, value in d.items():
print('\t' * indent + str(key))
if isinstance(value, dict):
pretty(value, indent+1)
else:
print('\t' * (indent+1) + str(value))
我仍然不完全确定这是否是您想要的,但如果您只想要字典中每个项目的文本,我认为这应该可行:
# a dictionary of item string to dictionary containing a "text" key
item_map = data['data']['document_data']
for item_string, item_map in item_map.iteritems():
print item_string # the item string (e.g. 'dataItem-ihmty5rw')
print item_map['text'] # this is the text associated with the item string