我写了一个小函数,它成功地从JSON blob中提取数据。 blob包含列表和词典的混合。 如果我对密钥进行硬编码,那么访问JSON blob中的值没有问题,但是将密钥作为元组传递不起作用。
有没有更好的方法将密钥传递给函数?
目前我最好的想法是写一个提取函数并传递它。 这似乎过于复杂。
简单示例
import json
def do_stuff(datablob, mykeys):
data = json.loads(datablob)
for entry in data:
mydate = entry[u'timestamp'][0:10]
mytime = entry[u'timestamp'][11:19]
# this works
founddata = entry[u'key1'][u'key2'][0][u'key3']
# this fails
founddata = entry[mykeys]
# do stuff with founddata
if __name__ == '__main__':
with open('jsonblob.txt','r') as f1:
mykeys = (u'key1',u'key2',0,u'key3')
do_stuff(f1.read(), mykeys)